CVE-2026-64099 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 20.

리눅스 커널에서 다음 취약점이 해결되었습니다:

drm/v3d: 에러 경로에서 CPU 작업 쿼리 배열에 대한 Use-After-Free 수정

CPU 작업 ioctl의 실패 라벨(fail label)은 v3d_job_cleanup() 호출 후 cpu_job의 타임스탬프 및 성능 쿼리 배열에 대해 kvfree()를 호출합니다. 이 시점에서 job의 마지막 참조가 해제되고 cpu_job이 할당 해제되므로, 이때 cpu_job을 읽는 것은 Use-After-Free입니다. 또한 초기 v3d_job_init() 실패 경로에서는 v3d_job_deallocate()가 로컬 포인터를 0으로 설정하므로 NULL Dereference가 발생합니다.

성공 경로(succcess path)의 경우 배열은 스케줄러의 .free_job 콜백에서 해제되지만, 에러 경로(job가 스케줄러에 푸시되지 않았기 때문에)에서는 수동으로 할당 해제됩니다. 성공 경로는 이를 올바르게 처리하지만 실패 라벨(fail label)은 그렇지 않습니다.

또한 수동 kvfree() 호출은 배열 저장소만 할당 해제할 뿐, v3d_timestamp_query_info_free() 및 v3d_performance_query_info_free()가 성공 경로에서 해제하는 쿼리별 syncobj에 대해 drm_syncobj_put()를 수행하지 않습니다. 따라서 Use-After-Free를 유발하는 동일한 실패 라벨은 쿼리마다 하나의 syncobj 참조 누수를 발생시킵니다.

CPU 작업의 kref 소멸자(cpu job's kref destructor)로 CPU 작업 정리(teardown) 로직을 통합하여 v3d_render_job_free()와 대칭을 이룹니다. 스케줄러의 .free_job 슬롯은 일반적인 v3d_sched_job_free()로 되돌아가고, 실패 라벨에서는 수동 kvfree() 호출이 제거되어 스케줄러 및 ioctl 에러 경로 모두에서 도달하는 단일 정리 경로를 구성합니다. 이를 통해 구조적으로 Use-After-Free, NULL Dereference 및 syncobj 누수가 제거됩니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-380292

EPSS

0.00000

활동

낮음

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!