🇰🇷 한글 설명
Linux 커널의 erofs 파일 시스템에서 32비트 플랫폼 사용 시 lcn 변수가 32비트 크기로 처리되어 데이터가 잘리는 취약점이 발견되었습니다. 이로 인해 4GiB 이상의 용량을 처리할 때 비트 시프트 연산 결과가 손실될 수 있습니다. 이를 해결하기 위해 lcn 타입을 u64로 통일하여 데이터 정밀도를 확보했습니다.
💡 쉬운 설명
32비트 컴퓨터에서 아주 큰 용량의 파일을 다룰 때, 숫자를 계산하는 칸이 너무 작아 데이터가 중간에 잘려버리는 문제입니다. 이로 인해 파일 시스템이 데이터를 잘못 읽거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
erofs: unify lcn as u64 for 32-bit platforms
As sashiko reported [1], `lcn` was typed as `unsigned long` (or
`unsigned int` sometimes), which is only 32 bits wide on 32-bit
platforms, which causes `(lcn << lclusterbits)` to be truncated
at 4 GiB.
In order to consolidate the logic, just use `u64` consistently
around the codebase.
[1] https://sashiko.dev/r/20260420034612.1899973-1-hsiangkao%40linux.alibaba.com
📍 영향받는 시스템
32비트 아키텍처를 사용하는 Linux 커널 기반 시스템 (EROFS 파일 시스템 사용 시)
⚔️ 공격 벡터
대용량 EROFS 파일 시스템을 마운트하거나 조작하여 데이터 무결성 오류 유도
🛡️ 대응 방법
EROFS 관련 lcn 타입이 u64로 수정된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 패치가 적용된 최신 보안 업데이트 버전인지 확인