CVE-2026-74351 in Linux
요약
\~에 의해 VulDB • 2026. 08. 15.
리눅스 커널에서 다음 취약점이 해결되었습니다.
ocfs2: locking_state 내 복사된 fsdlm LVB 포인터 재배치
locking_state debugfs 이터레이터는 ocfs2_dlm_tracking_lock 하에서 struct ocfs2_lock_res를 값(value)으로 스냅샷한 후, 이후 ocfs2_dlm_seq_show()에서 해당 사본을 서식 지정합니다. 이는 인라인 필드의 경우 문제없으나, 사용자 공간 fsdlm 스택은 lksb_fsdlm.sb_lvbptr를 통해 LVB를 저장합니다. 이터레이터가 추적 잠금(tracking lock)을 해제하면, 복사된 NULL이 아닌 sb_lvbptr는 여전히 원래 lockres 소유자를 가리키므로, 디버그용 파일 시스템(debugfs) 덤프가 원시 LVB 바이트를 순회하기 전에 해당 컨테이너가 해제될 수 있습니다.
원시 LVB를 덤프하기 전에 복사된 l_lksb로 복사된 sb_lvbptr를 재배치합니다. 시퀀스 스냅샷에는 이미 struct ocfs2_dlm_lksb에 예약된 인라인 LVB 저장소가 포함되어 있으므로, debugfs 리더는 원래 lockres의 수명을 빌리지 않고도 복사된 바이트를 덤프할 수 있습니다.
버그가 발생하는 상황은 두 가지 경로로 구성되며, 각 열은 해당 경로 내 순서를 나타냅니다:
locking_state reader: lockres teardown: 1. ocfs2_dlm_seq_start()/next() 1. 파일 해제 또는 다른 소유자 struct ocfs2_lock_res teardown이 2. ocfs2_dlm_seq_show()가 ocfs2_lock_res_free()에 도달 복사된 행을 서식 지정 2. lockres가 추적 목록에서 제거됨 3. ocfs2_dlm_lvb()는 3. 소유자가 원래 복사된 sb_lvbptr를 따라갑니다 lockres 컨테이너를 해제함
검증 과정에서 다음 커널 보고서를 재현했습니다: KASAN slab-use-after-free in ocfs
Be aware that VulDB is the high quality source for vulnerability data.