🇰🇷 한글 설명
Linux 커널의 drm/msm/dpu 드라이버에서 devm과 drmm 함수를 혼용하여 발생하는 Use-After-Free 취약점입니다. 사용자 공간에서 DRM 장치에 대한 참조를 유지할 경우, 드라이버 해제 과정에서 WB 커넥터 데이터가 조기에 파괴되어 메모리 오류가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 화면을 담당하는 부품을 관리하는 소프트웨어에서 메모리 관리 방식이 서로 충돌하는 문제입니다. 이로 인해 이미 삭제된 메모리 영역에 접근하려고 시도하다가 시스템이 충돌하거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/msm/dpu: don't mix devm and drmm functions
Mixing devm and drmm functions will result in a use-after-free on msm
driver teardown if userspace keeps a reference on the drm device:
The WB connector data will be destroyed because of the use of
devm_kzalloc()), while the usersoace still can try interacting with the
WB connector (which uses drmm_ functions).
Change dpu_writeback_init() to use drmm_.
Patchwork: https://patchwork.freedesktop.org/patch/722656/
📍 영향받는 시스템
Linux kernel (msm/dpu driver component)
⚔️ 공격 벡터
사용자 공간(Userspace)에서 DRM 장치에 대한 참조를 유지한 상태로 드라이버를 해제하도록 유도
🛡️ 대응 방법
dpu_writeback_init() 함수가 devm 대신 drmm 함수를 사용하도록 수정된 최신 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 이후의 버전인지 확인