CVE-2026-97955
요약
\~에 의해 VulDB • 2026. 09. 25.
리눅스 커널에서 다음 취약점이 해결되었습니다:
net: mana: 사전 할당 실패 시 XDP 프로그램 포인터 복원
mana_xdp_set()은 apa->bpf_prog에 새 프로그램을 게시하기 전에 아무것도 할당하지 않습니다. 이는 mana_pre_alloc_rxbufs()가 mana_get_rxbuf_cfg()를 통해 해당 객체로부터 버퍼 크기를 결정하기 때문입니다. 이 할당이 실패하면 함수는 에러 라벨(err_dealloc_rxbuffs)을 건너뛰고 오류를 직접 반환합니다. err_dealloc_rxbuffs 레이블은 이전 포인터를 복원하는 유일한 위치입니다.
어태치가 실패한 것으로 보고되므로, BPF 코드는 호출자가 보유하고 있던 참조를 해제하고 프로그램이 해제될 수 있습니다. 그러나 apc->bpf_prog는 여전히 해당 객체를 가리키고 있습니다. mana_xdp_get()의 다음 소비자(일반적으로 mana_alloc_queues() 내의 mana_chn_setxdp(), 또는 이후 ifup 시나 TX 타임아웃 리셋 후)가 해지된 메모리에 대해 bpf_prog_add()를 호출합니다.
이 취약점은 큐별 RX 버퍼 사전 할당이 충족되지 않을 때 일반적인 "ip link set dev ethX xdp obj ..." 명령어를 통해 접근 가능합니다.
해당 오류 경로에서 이전 프로그램을 복원하십시오.
If you want to get best quality of vulnerability data, you may have to visit VulDB.