🔍 CVE-2026-74485

7.1
CVSS Score
HIGH
2026-08-15
2026-10-16 20:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 binfmt_misc 구성 요소에서 필드 구분자로 사용되는 문자가 플래그 문자('P', 'O', 'C', 'F')와 동일할 경우 발생하는 취약점입니다. 이 경우 플래그를 검사하는 과정에서 할당된 버퍼의 경계를 넘어 메모리를 계속 읽는 Out-of-bounds read가 발생할 수 있습니다. 사용자 네임스페이스를 통해 권한이 없는 사용자도 접근이 가능하여 보안 위험이 존재합니다.

💡 쉬운 설명

특수한 문자를 사용하여 시스템 설정을 등록할 때, 프로그램이 데이터의 끝을 제대로 인식하지 못하고 허용되지 않은 메모리 영역까지 읽어버리는 문제입니다. 이로 인해 시스템 정보가 유출되거나 프로그램이 비정상적으로 종료될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: binfmt_misc: reject a flag character as the field delimiter The registration string starts with a user chosen delimiter that separates the individual fields. So that the field parsers terminate even on a truncated string create_entry() pads the buffer with that same delimiter: memset(buf + count, del, 8); Most fields are scanned for the delimiter with strchr()/scanarg() and happily stop on the padding. The flags field is different: instead of scanning for the delimiter check_special_flags() consumes the flag characters 'P', 'O', 'C' and 'F' and stops at the first byte that is none of them, relying on the trailing delimiter to end the scan. If the delimiter is itself a flag character the padding no longer acts as a terminator. The scan swallows all eight padding bytes and keeps reading past the end of the allocation until it hits a byte that is not a flag character. For example registering PaPEPPxPPiP with 'P' as the delimiter (name "a", type extension, magic "x", interpreter "i", empty flags) leaves the flag scan running off the end of the buffer. The registration is rejected in the end because the parser does not stop exactly at buf + count, but only after the out of bounds read has already happened. With an unlucky allocation layout the scan can walk into an unmapped page; under KASAN it is reported as a slab out of bounds read. binfmt_misc mounts are available to unprivileged users in a user namespace so the read is reachable without privileges. Reject a delimiter that is one of the flag characters up front. Such a registration was always rejected anyway, only after the out of bounds read, so no valid registration string changes meaning.

📍 영향받는 시스템

Linux Kernel (binfmt_misc 모듈을 사용하는 모든 버전)

⚔️ 공격 벡터

사용자 네임스페이스를 통해 binfmt_misc를 마운트한 후, 플래그 문자를 구분자로 사용하는 악의적인 등록 문자열을 전달하여 발생

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 구분자로 플래그 문자를 사용할 수 없도록 제한해야 합니다.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

NVIDIA Cloud Gaming Guest Driver for Linux