🔍 CVE-2023-53503

5.5
CVSS Score
MEDIUM
2025-10-01
2026-11-05 21:17
✅ 완료

🇰🇷 한글 설명

Linux 커널 ext4 파일시스템에서 ext4_get_group_info() 함수가 잘못된 그룹 번호를 받으면 BUG()를 일으키던 문제를 수정했습니다. 공격자나 퍼저가 마운트된 블록 디바이스의 슈퍼블록을 변조하면 s_first_data_block이 비정상적으로 커져 블록 그룹 번호 언더플로가 발생하고 커널 패닉을 유발할 수 있었습니다. 이제 함수는 BUG 대신 ext4_error를 호출하고 NULL을 반환하며, 호출부에도 NULL 처리 로직이 추가되었습니다.

💡 쉬운 설명

리눅스 파일시스템(ext4)의 내부 관리 정보가 잘못 바뀌면 시스템이 강제로 멈출 수 있는 문제였습니다. 이제는 오류를 감지해도 시스템을 멈추지 않고 안전하게 처리하도록 고쳐졌습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ext4: allow ext4_get_group_info() to fail Previously, ext4_get_group_info() would treat an invalid group number as BUG(), since in theory it should never happen. However, if a malicious attaker (or fuzzer) modifies the superblock via the block device while it is the file system is mounted, it is possible for s_first_data_block to get set to a very large number. In that case, when calculating the block group of some block number (such as the starting block of a preallocation region), could result in an underflow and very large block group number. Then the BUG_ON check in ext4_get_group_info() would fire, resutling in a denial of service attack that can be triggered by root or someone with write access to the block device. For a quality of implementation perspective, it's best that even if the system administrator does something that they shouldn't, that it will not trigger a BUG. So instead of BUG'ing, ext4_get_group_info() will call ext4_error and return NULL. We also add fallback code in all of the callers of ext4_get_group_info() that it might NULL. Also, since ext4_get_group_info() was already borderline to be an inline function, un-inline it. The results in a next reduction of the compiled text size of ext4 by roughly 2k.

📍 영향받는 시스템

패치 이전의 Linux 커널 ext4 파일시스템을 사용하는 리눅스 시스템 전반

⚔️ 공격 벡터

root 권한 또는 블록 디바이스 쓰기 권한을 가진 사용자가 마운트된 파일시스템의 슈퍼블록을 변조하여 커널 패닉(서비스 거부)을 유발

🛡️ 대응 방법

배포판 제공 최신 커널 업데이트를 적용하고 재부팅하여 수정된 커널로 교체

🔧 검증 코드

출력된 커널 버전을 배포판 보안 공지에 나온 수정된 커널 버전과 비교하여, 동일하거나 이후 버전이면 패치가 적용된 것입니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel