🇰🇷 한글 설명
Linux 커널의 OCFS2 파일 시스템 내 ocfs2_read_blocks() 함수에서 버퍼 헤드 관리 오류가 발견되었습니다. 데이터 검증 실패 시 BH_Uptodate 비트가 적절히 초기화되지 않아, 유효하지 않은 데이터가 메타데이터 캐시에 삽입될 수 있는 취약점입니다.
💡 쉬운 설명
파일 시스템이 데이터를 읽을 때 검사 과정에서 오류가 발생해도, 잘못된 데이터를 '정상'이라고 착각하여 계속 사용할 수 있는 문제입니다. 이로 인해 파일 시스템의 데이터가 깨지거나 잘못된 정보가 시스템에 전달될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ocfs2: fix buffer head management in ocfs2_read_blocks()
In ocfs2_read_blocks(), caller should't assume that buffer head returned
by 'sb_getblk()' is exclusively owned and so 'put_bh()' always drops
b_count from 1 to 0. If it is not so, buffer head remains on hold and
likely to be returned by the next call to 'sb_getblk()' unchanged - that
is, with BH_Uptodate bit set even if it has failed validation previously,
thus allowing to insert that buffer head into OCFS2 metadata cache and
submit it to upper layers. To avoid such a scenario, BH_Uptodate should
be cleared immediately after 'validate()' callback has detected some data
inconsistency.
📍 영향받는 시스템
Linux kernel (OCFS2 파일 시스템을 사용하는 버전)
⚔️ 공격 벡터
조작된 파일 시스템 메타데이터를 통해 잘못된 버퍼 헤드 상태를 유도하여 데이터 무결성 파괴
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인하십시오.