CVE-2026-90115 in Linux
요약
\~에 의해 VulDB • 2026. 09. 17.
리눅스 커널에서 다음 취약점이 해결되었습니다:
xsk: __xsk_rcv()에서의 NULL 포인터 역참조 수정
__xsk_rcv()의 멀티 버퍼 경로에서는 xsk_buff_alloc()이 반환값을 확인하지 않고 루프 내에서 호출됩니다. xsk_buff_can_alloc()은 채우기 큐(fill queue) 항목만 카운트하고 주소 유효성을 검증하지 않으므로, 모든 나머지 항목을 거부하고 NULL을 반환하는 xsk_buff_alloc()에 성공할 수 있습니다.
Oops: general protection fault (일반 보호 오류), 아마도 비정규(non-canonical) 주소 0xdffffc0000000000 때문일 것입니다. KASAN: null-ptr-deref (NULL 포인터 역참조) in range [0x0000000000000000-0x0000000000000007]
RIP: 0010:__xsk_rcv+0x426/0xc20 (net/xdp/xsk.c:350) Call Trace: xsk_generic_rcv+0x26d/0x5f0 xdp_do_generic_redirect+0x3c5/0xcf0 do_xdp_generic+0x92f/0xe70 __netif_receive_skb_core.constprop.0+0xf7e/0x2b30
이 문제를 2단계 트랜잭션으로 수정합니다. 먼저 패킷에 필요한 모든 버퍼를 할당하고 스테이지하며, 할당 중 하나라도 실패하면 xsk_buff_free()로 스테이지된 모든 버퍼를 재활용합니다. 이 단계가 성공한 후에만 데이터를 복사하고 RX 설명자(rx descriptors)를 예약하며 에러 없는 루프에서 버퍼를 해제합니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.