🇰🇷 한글 설명
Linux 커널의 octeon_ep 드라이버에서 메모리 할당 실패 시 NULL 포인터를 참조하여 시스템이 충돌할 수 있는 취약점이 발견되었습니다. 이 문제는 __octep_oq_process_rx() 함수 내에서 skb 할당 실패에 대한 예외 처리가 누락되어 발생했습니다.
💡 쉬운 설명
컴퓨터가 네트워크 데이터를 처리하기 위해 메모리를 빌려오려다 실패했을 때, 이를 제대로 확인하지 않고 빈 공간을 사용하려다 시스템이 멈추는 문제입니다. 메모리가 부족한 상황에서 발생할 수 있는 오류입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
octeon_ep: Add SKB allocation failures handling in __octep_oq_process_rx()
build_skb() returns NULL in case of a memory allocation failure so handle
it inside __octep_oq_process_rx() to avoid NULL pointer dereference.
__octep_oq_process_rx() is called during NAPI polling by the driver. If
skb allocation fails, keep on pulling packets out of the Rx DMA queue: we
shouldn't break the polling immediately and thus falsely indicate to the
octep_napi_poll() that the Rx pressure is going down. As there is no
associated skb in this case, don't process the packets and don't push them
up the network stack - they are skipped.
Helper function is implemented to unmmap/flush all the fragment buffers
used by the dropped packet. 'alloc_failures' counter is incremented to
mark the skb allocation error in driver statistics.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
📍 영향받는 시스템
octeon_ep 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
메모리 부족 상태를 유도하여 시스템의 NULL 포인터 역참조(Denial of Service)를 유발
🛡️ 대응 방법
해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 취약점이 해결된 패치 버전인지 확인