🇰🇷 한글 설명
Linux 커널의 FAT 파일시스템에서 fat_encode_fh_nostale() 함수가 부모 정보 없이 파일 핸들을 인코딩할 때 10바이트만 초기화하고, 4의 배수여야 하는 12바이트 길이의 마지막 2바이트를 초기화하지 않아 커널의 초기화되지 않은 메모리 정보를 사용자공간으로 누출하는 취약점이다.
💡 쉬운 설명
Linux FAT 드라이브에서 파일을 찾기 위한 특별 코드를 만들 때 일부 데이터가 초기화되지 않아 커널 메모리 정보가 노출될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
fat: fix uninitialized field in nostale filehandles
When fat_encode_fh_nostale() encodes file handle without a parent it
stores only first 10 bytes of the file handle. However the length of the
file handle must be a multiple of 4 so the file handle is actually 12
bytes long and the last two bytes remain uninitialized. This is not
great at we potentially leak uninitialized information with the handle
to userspace. Properly initialize the full handle length.
📍 영향받는 시스템
Linux kernel 5.15 ~ 6.8 (패치 이전 버전) 의 FAT 파일시스템 탑재 시스템
⚔️ 공격 벡터
로컬 사용자가 FAT 파일시스템에서 파일 핸들 관련 시스템 호출을 수행할 때 초기화되지 않은 커널 메모리에 접근 가능
🛡️ 대응 방법
Linux 커널을 수정된 최신 안정 버전으로 업데이트 (각 브랜치별 패치 적용 버전 필수)
🔧 검증 코드
출력된 커널 버전이 CVE-2024-26973 패치 버전 이상인지 확인하고, FAT 파일시스템 사용 여부를 root 마운트 정보에서 확인하세요
uname -r | awk '{print $1}' && cat /proc/cmdline | grep -o 'root=[^ ]*' | head -1