🇰🇷 한글 설명
Linux 커널의 octeontx2-af 드라이버에서 rvu_mbox_init() 함수가 반복 호출될 때 메모리 누수 및 잘못된 자원 해제가 발생하는 취약점입니다. AF-PF 및 AF-VF 메일박스 초기화 과정에서 객체가 중복 할당되거나, 오류 발생 시 이미 사용 중인 메모리를 해제하여 시스템 불안정을 초래할 수 있습니다.
💡 쉬운 설명
컴퓨터의 핵심 부품을 관리하는 소프트웨어에서 메모리를 제대로 비우지 못하거나 잘못된 부분을 건드리는 오류가 발견되었습니다. 이로 인해 시스템이 멈추거나 예상치 못한 동작을 할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
octeontx2-af: fix cn20k mailbox lifetime on repeated rvu_mbox_init()
rvu_mbox_init() is called separately for AF-PF mailboxes during probe
and for AF-VF mailboxes when SR-IOV is enabled. Each call used to
allocate a new ng_rvu object, leaking the first allocation when the
pointer was overwritten on the second call.
Sharing one ng_rvu across both paths exposed several teardown bugs:
the error path freed all cn20k mailbox DMA and kfree()d ng_rvu even
when only the failing init type should be unwound, leaving live AF-PF
mailbox memory in use after an AF-VF init failure. mutex_init() was
also re-run on the AF-VF path while AF-PF mailbox handlers could still
hold rvu->mbox_lock. Probe and SR-IOV failure paths did not release
cn20k mailbox DMA either, since cleanup only happened in rvu_remove().
Allocate ng_rvu once with devm_kzalloc(), initialize mbox_lock in the
same block, unwind only the mailbox memory for the failing init type,
and free cn20k mailbox DMA from the probe and pci_enable_sriov()
error paths.
📍 영향받는 시스템
Linux kernel (octeontx2-af driver 사용 환경)
⚔️ 공격 벡터
로컬 공격자가 특정 드라이버 초기화 과정을 반복 유도하여 메모리 누수 또는 커널 패닉 유발
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인