🔍 CVE-2026-97906

0.0
CVSS Score
UNKNOWN
2026-09-25
2026-10-21 13:21
✅ 완료

🇰🇷 한글 설명

Linux 커널의 bootconfig 구성 요소에서 initrd 크기 확인 시 정수 오버플로 취약점이 발견되었습니다. 공격자가 조작된 크기의 initrd를 사용하면 포인터 연산 오류로 인해 경계 검사를 우회하고, 커널이 잘못된 메모리 영역을 읽으려 시도하여 부팅 과정에서 커널 패닉(Fatal Page Fault)을 유발할 수 있습니다.

💡 쉬운 설명

컴퓨터가 부팅될 때 사용하는 초기 파일의 크기를 잘못 계산하여 발생하는 오류입니다. 가짜로 만든 아주 큰 파일을 사용하면 컴퓨터가 부팅 중에 멈추거나 꺼질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: bootconfig: Fix integer overflow in initrd size check Sashiko reported that in get_boot_config_from_initrd(), a crafted initrd with a huge bootconfig size (such as 0xFFFFFFFF) can cause the pointer arithmetic: data = ((void *)hdr) - size; to wrap around on 32-bit systems (or when pointer subtraction overflows). Because data wraps around, the subsequent bounds check: if ((unsigned long)data < initrd_start) evaluates to false, bypassing the check. The kernel then calls xbc_calc_checksum(data, size), which attempts to read 4GB of memory, hitting unmapped pages and triggering a fatal kernel page fault during early boot. Furthermore, on 64-bit systems with an initrd > 4.29 GB, an unbounded 32-bit size can similarly bypass the initrd_start check. Fix this by: 1. Ensuring the initrd is at least large enough to contain the bootconfig footer and verifying hdr is within the initrd bounds. 2. Checking that size does not exceed XBC_DATA_MAX and does not exceed the available space between initrd_start and hdr before performing pointer subtraction.

📍 영향받는 시스템

Linux kernel (32-bit systems and 64-bit systems with initrd > 4.29 GB)

⚔️ 공격 벡터

조작된 크기(예: 0xFFFFFFFF)를 가진 initrd 파일을 사용하여 부팅 시 정수 오버플로 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 정수 오버플로 및 경계 검사 로직 수정

🔧 검증 코드

출력된 커널 버전을 확인하여 해당 취약점이 수정된 최신 패치 버전인지 확인합니다.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel