🇰🇷 한글 설명
Linux 커널의 dma-buf/dma-fence 구성 요소에서 NULL 포인터 역참조 및 Use-After-Free(UAF) 취약점이 발견되었습니다. ops 포인터가 해제된 후에도 RCU 보호가 유지되지 않아 발생하며, 이를 방지하기 위해 신호 상태와 ops 포인터를 모두 확인하도록 패치가 적용되었습니다.
💡 쉬운 설명
컴퓨터의 메모리를 관리하는 과정에서 이미 사용이 끝난 메모리 영역을 다시 참조하려고 할 때 발생하는 오류입니다. 이 오류를 이용하면 시스템이 멈추거나 해커가 시스템 권한을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
dma-buf/dma-fence: fix checking signaling bit for timeline and driver name v3
The patch "dma-buf: dma-fence: Fix potential NULL pointer dereference"
changed the check to test for the ops pointer instead of the signaled
bit to avoid a potential NULL dereference when the ops pointer has been
cleared.
The problem is now that the ops pointer is cleared only when neither the
release nor the wait callback is implemented and this isn't true for a lot
of dma_fence implementations yet. So those implementations lost the RCU
protection after signaling of the returned string resulting in potential
use after free.
Add the signaling check additional to the ops pointer check so that we
have both the protection against NULL dereference as well as the RCU
protection after signaling for the returned string.
v2: improve comments to note RCU protection and explain why we check
both signaling state and ops pointer
v3: some comment improvements suggested by Philip
📍 영향받는 시스템
dma-fence 구현이 포함된 Linux 커널 버전
⚔️ 공격 벡터
특정 드라이버 구현을 통해 메모리 해제 후 참조(Use-After-Free)를 유도하는 방식
🛡️ 대응 방법
dma-buf/dma-fence 관련 보안 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 확인합니다.
📊 CVSS Vector String
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux