🔍 CVE-2026-64099

7.8
CVSS Score
HIGH
2026-07-19
2026-08-11 16:05
✅ 완료

🇰🇷 한글 설명

Linux 커널의 drm/v3d 드라이버에서 CPU 작업 쿼리 배열 처리 중 Use-After-Free 및 NULL 역참조 취약점이 발견되었습니다. 오류 발생 경로에서 메모리 해제 순서가 잘못되어 이미 해제된 메모리에 접근하거나, 동기화 객체(syncobj)의 참조 횟수를 제대로 줄이지 않아 메모리 누수가 발생할 수 있습니다.

💡 쉬운 설명

그래픽 처리 과정에서 오류가 발생할 때 컴퓨터가 이미 지워버린 메모리 정보를 다시 읽으려 하거나, 메모리를 제대로 정리하지 못하는 문제입니다. 이로 인해 시스템이 멈추거나 보안 문제가 생길 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: drm/v3d: Fix use-after-free of CPU job query arrays on error path The CPU job ioctl's fail label calls kvfree() on cpu_job's timestamp and performance query arrays after v3d_job_cleanup(), which drops the job's last reference and frees cpu_job. Reading cpu_job at that point is a use-after-free. Also, on the early v3d_job_init() failure path, it is a NULL dereference, since v3d_job_deallocate() zeroes the local pointer. In the success path, the arrays are released from the scheduler's .free_job callback, but on the error path, they are freed manually, as the job was never pushed to the scheduler. While the success path deals with this correctly, the fail path doesn't. On top of that, the manual kvfree() calls only free the array storage; they don't drm_syncobj_put() the per-query syncobjs that v3d_timestamp_query_info_free() and v3d_performance_query_info_free() release on the success path. So the same fail path that triggers the use-after-free also leaks one syncobj reference per query. Unify the CPU job teardown into the CPU job's kref destructor, mirroring v3d_render_job_free(). The scheduler's .free_job slot reverts to the generic v3d_sched_job_free() and the fail label drops the manual kvfree() calls, leaving a single teardown path that is reached from both the scheduler and the ioctl error path. That removes the use-after-free, the NULL dereference, and the syncobj leak by construction.

📍 영향받는 시스템

Linux kernel (drm/v3d driver 포함 버전)

⚔️ 공격 벡터

특수하게 조작된 ioctl 시스템 호출을 통해 드라이버의 오류 경로를 유도하여 발생

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel