🇰🇷 한글 설명
Linux 커널의 drm/vc4 드라이버에서 HVS FIFO 커밋 포인터를 작업 완료 후 초기화하지 않아 발생하는 취약점입니다. 이로 인해 메모리가 해제된 후에도 이전 포인터를 참조하게 되어 Use-After-Free(UAF) 취약점이 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터가 이미 사용이 끝나서 버린 메모리 주소를 계속 붙잡고 있다가, 나중에 그 주소를 다시 사용하려고 할 때 오류가 발생하는 문제입니다. 이 과정에서 시스템이 충돌하거나 보안 공격에 노출될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/vc4: kms: Clear the HVS FIFO commit pointer once done
Commit 9ec03d7f1ed3 ("drm/vc4: kms: Wait on previous FIFO users before a
commit") introduced a wait on the previous commit done on a given HVS
FIFO.
However, we never cleared that pointer once done. Since
drm_crtc_commit_put can free the drm_crtc_commit structure directly if
we were the last user, this means that it can lead to a use-after free
if we were to duplicate the state, and that stale pointer would even be
copied to the new state.
Set the pointer to NULL once we're done with the wait so that we don't
carry over a pointer to a free'd structure.
📍 영향받는 시스템
Linux kernel (drm/vc4 driver component)
⚔️ 공격 벡터
메모리 상태를 복제하여 해제된 구조체를 가리키는 잘못된 포인터를 참조하게 만드는 방식
🛡️ 대응 방법
커밋 완료 후 HVS FIFO 포인터를 NULL로 설정하는 최신 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인