🇰🇷 한글 설명
Linux 커널의 NTFS 드라이버에서 비상주 속성 오프셋을 검증하지 않아 발생하는 취약점입니다. 악의적으로 조작된 MFT 레코드를 통해 속성 변환 과정에서 경계를 벗어난 메모리 쓰기나 데이터 오염이 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터의 파일 시스템을 처리하는 과정에서 데이터의 위치를 제대로 확인하지 않아 발생하는 오류입니다. 해커가 특수하게 만든 파일을 통해 시스템의 중요한 데이터를 망가뜨리거나 잘못된 곳에 정보를 쓸 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ntfs: validate non-resident attribute offsets
ntfs_attr_update_meta() shifts the attribute name when converting between
non-sparse and sparse attributes. Converting to sparse also adds the
compressed_size field before the name and mapping pairs, requiring eight
additional bytes in the attribute record.
However, the validator does not check that name_offset is within safe
boundaries for these operations or that the additional space is available.
A malicious MFT record could set name_offset such that:
1. The name is positioned at the very end of a non-sparse attribute.
Converting to sparse would shift the name forward by 8 bytes,
writing beyond the attribute boundary.
2. The name overlaps with the mapping pairs, causing corruption during
conversion.
Add validation to ensure:
- For named attributes, name_offset is within valid bounds
- Name does not extend beyond the attribute or overlap with mapping pairs
- For non-sparse, non-compressed attributes, eight bytes are available
after mapping_pairs_offset for the compressed_size field
The space check also covers unnamed attributes, for which name_offset = 0
is valid and no name range needs to be checked.
📍 영향받는 시스템
Linux kernel (NTFS driver 사용 환경)
⚔️ 공격 벡터
조작된 MFT(Master File Table) 레코드를 포함한 NTFS 파일 시스템을 마운트하여 공격
🛡️ 대응 방법
NTFS 속성 오프셋 검증 로직이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인