🇰🇷 한글 설명
Linux 커널의 binfmt_elf_fdpic 드라이버에서 PT_INTERP 프로그램 헤더를 처리할 때 발생하는 취약점입니다. 여러 개의 PT_INTERP를 포함한 악성 바이너리를 실행할 경우, 메모리 누수와 함께 파일에 대한 쓰기 거부(write denial) 상태가 해제되지 않아 시스템 운영 중 해당 파일이 계속 수정 불가능한 상태로 남게 됩니다.
💡 쉬운 설명
특수하게 제작된 파일을 실행하면 컴퓨터의 메모리가 낭비되고, 특정 파일이 영구적으로 수정되지 않도록 잠겨버리는 문제가 발생합니다. 일반 사용자가 이 파일을 반복해서 실행하여 시스템 자원을 소모하거나 파일 시스템에 문제를 일으킬 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
binfmt_elf_fdpic: only honour the first PT_INTERP
The program header scan handles PT_INTERP from a switch nested in the
scan loop, so its break leaves the switch and not the loop. A binary
carrying more than one PT_INTERP runs the case again and overwrites both
interpreter_name and interpreter. The previous name allocation leaks and
so does the previous interpreter reference, along with the write denial
open_exec() took on it. The denial is never released, so the file stays
unwritable for as long as the system runs.
An unprivileged caller reaches this with a crafted binary and repeats it
at will. binfmt_elf stops at the first PT_INTERP. Do the same here.
The flaw dates back to the driver's introduction in the pre-git history
tree introduced in v2.6.11 by 91808d6ebe39 ("[PATCH] FRV: Add FDPIC ELF
binary format driver").
📍 영향받는 시스템
Linux kernel v2.6.11 이후 버전 (FDPIC ELF 드라이버 포함 버전)
⚔️ 공격 벡터
악의적으로 조작된(PT_INTERP가 다수 포함된) ELF 바이너리를 실행하여 발생
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 binfmt_elf_fdpic의 PT_INTERP 처리 로직을 수정해야 합니다.
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 확인합니다.
💻 영향받는 소프트웨어
NVIDIA vGPU Guest Driver for Linux