🔍 CVE-2025-68770

7.5
CVSS Score
HIGH
2026-01-13
2026-10-19 19:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 bnxt_en 드라이버에서 XDP_TX 동작 시 이벤트 플래그를 잘못 처리하는 취약점이 발견되었습니다. 이로 인해 TX 링에 공간이 부족할 경우 플래그가 초기화되어 드라이버가 TX 도어벨을 누르지 않게 되며, 결과적으로 RX 링이 비워지지 않아 모든 패킷이 드롭되는 현상이 발생합니다.

💡 쉬운 설명

네트워크 카드가 데이터를 보내려고 할 때 신호를 잘못 처리하여 데이터 전송이 멈춰버리는 문제입니다. 이로 인해 네트워크를 통해 들어오는 모든 데이터가 처리되지 못하고 버려지게 됩니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: bnxt_en: Fix XDP_TX path For XDP_TX action in bnxt_rx_xdp(), clearing of the event flags is not correct. __bnxt_poll_work() -> bnxt_rx_pkt() -> bnxt_rx_xdp() may be looping within NAPI and some event flags may be set in earlier iterations. In particular, if BNXT_TX_EVENT is set earlier indicating some XDP_TX packets are ready and pending, it will be cleared if it is XDP_TX action again. Normally, we will set BNXT_TX_EVENT again when we successfully call __bnxt_xmit_xdp(). But if the TX ring has no more room, the flag will not be set. This will cause the TX producer to be ahead but the driver will not hit the TX doorbell. For multi-buf XDP_TX, there is no need to clear the event flags and set BNXT_AGG_EVENT. The BNXT_AGG_EVENT flag should have been set earlier in bnxt_rx_pkt(). The visible symptom of this is that the RX ring associated with the TX XDP ring will eventually become empty and all packets will be dropped. Because this condition will cause the driver to not refill the RX ring seeing that the TX ring has forever pending XDP_TX packets. The fix is to only clear BNXT_RX_EVENT when we have successfully called __bnxt_xmit_xdp().

📍 영향받는 시스템

Linux kernel (bnxt_en driver 사용 시스템)

⚔️ 공격 벡터

로컬 또는 네트워크를 통한 XDP_TX 패킷 유도 (DoS 유발 가능)

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel