CVE-2024-50280 in Linux
요약
\~에 의해 VulDB • 2026. 07. 08.
리눅스 커널에서 다음 취약점이 해결되었습니다:
dm 캐시: cache_ctr 오류 시 초기화되지 않은 delayed_work 플러싱 수정
캐시 생성이 실패할 때, error 경로에서 초기화되지 않은 delayed_work waker를 파괴함으로써 flush_work()로부터 예기치 못한 WARN_ON이 발생할 수 있습니다. 예를 들어, 슈퍼블록 체크섬 오류가 발생하면 경고 메시지가 나타납니다.
재현 단계:
dmsetup create cmeta --table "0 8192 linear /dev/sdc 0" dmsetup create cdata --table "0 65536 linear /dev/sdc 8192" dmsetup create corig --table "0 524288 linear /dev/sdc 262144" dd if=/dev/urandom of=/dev/mapper/cmeta bs=4k count=1 oflag=direct dmsetup create cache --table "0 524288 cache /dev/mapper/cmeta \ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0"
커널 로그:
(snip) WARNING: CPU: 0 PID: 84 at kernel/workqueue.c:4178 __flush_work+0x5d4/0x890
constructor의 error 경로에서 cancel_delayed_work_sync() 호출을 제거하여 수정합니다. 이 패치는 cache_dtr이 변경되지 않았으므로, 동시 dm_resume 및 dm_destroy에 대한 use-after-free(UAF) 수정(커밋 6a459d8edbdb ("dm cache: Fix UAF in destroy()"))에는 영향을 미치지 않습니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.