🇰🇷 한글 설명
Linux 커널의 binfmt_misc 구성 요소에서 MISC_FMT_OPEN_FILE 플래그를 사용하여 항목을 제거할 때, 인터프리터 파일에 대한 쓰기 권한이 복구되지 않는 취약점이 발견되었습니다. 이로 인해 항목이 삭제된 후에도 해당 파일의 i_writecount가 음수로 유지되어, inode가 캐시에서 제거될 때까지 파일에 대한 쓰기 작업이 ETXTBSY 오류와 함께 계속 실패하게 됩니다.
💡 쉬운 설명
리눅스 시스템에서 특정 실행 파일을 설정했다가 삭제해도, 해당 파일에 다시 내용을 쓸 수 없는 상태가 지속되는 버그입니다. 파일이 삭제되었음에도 불구하고 시스템이 해당 파일을 여전히 '사용 중'인 것처럼 잘못 인식하여 수정을 방해합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
binfmt_misc: restore write access when removing an entry
Registering an entry with the MISC_FMT_OPEN_FILE flag opens the
interpreter via open_exec() which denies write access to it for as
long as the entry exists. Removing the entry closes the interpreter
file via filp_close() but never restores write access, leaving the
inode's i_writecount permanently negative. Opening the interpreter
for writing keeps failing with ETXTBSY long after the entry is gone
until the inode is evicted from the inode cache.
Commit 90f601b497d7 ("binfmt_misc: restore write access before
closing files opened by open_exec()") fixed the same imbalance in the
error path of bm_register_write() but the actual removal path has
been leaking the write denial since the introduction of the flag.
Restore write access in put_binfmt_handler() before closing the
interpreter file.
📍 영향받는 시스템
MISC_FMT_OPEN_FILE 플래그를 사용하는 Linux Kernel (패치 적용 전 버전)
⚔️ 공격 벡터
직접적인 공격보다는 시스템 관리자의 파일 수정 작업을 방해하는 서비스 거부(DoS) 형태의 자원 잠금 유발
🛡️ 대응 방법
커널 커밋 90f601b497d7이 포함된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 확인
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux