🔍 CVE-2026-93095

7.8
CVSS Score
HIGH
2026-09-17
2026-10-19 10:16
✅ 완료

🇰🇷 한글 설명

Linux 커널의 hfsplus 파일 시스템에서 스레드 레코드를 삭제하기 전에 유효성을 검사하지 않아 발생하는 취약점입니다. 손상된 이미지를 통해 스레드 이름의 길이를 조작하면 hfs_bnode_read() 함수가 할당된 메모리 범위를 넘어 데이터를 쓰는 버퍼 오버플로우가 발생할 수 있습니다.

💡 쉬운 설명

파일 시스템의 정보를 읽는 과정에서 데이터의 길이를 제대로 확인하지 않아 발생하는 오류입니다. 공격자가 조작된 파일을 사용하면 컴퓨터의 메모리 영역을 침범하여 시스템을 불안정하게 만들 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: hfsplus: validate thread record before delete key rebuild hfsplus_delete_cat() is called with str == NULL when the last open reference to an unlinked HFS+ hardlink backing inode is closed. In that case, the function finds the catalog thread by CNID and rebuilds the catalog key from thread.nodeName. That reconstruction path reads thread.nodeName.length directly from the catalog B-tree into fd.search_key and then copies length * 2 bytes into fd.search_key->cat.name.unicode. It does not first check that the found record is a thread record or that its size matches the thread name. A corrupted image can therefore provide an oversized thread name length and make hfs_bnode_read() write past the catalog search-key allocation. Read the CNID record through hfsplus_brec_read_cat(), which bounds the record read to sizeof(hfsplus_cat_entry) and verifies that a thread record's size exactly matches nodeName.length. Together, these checks ensure an accepted thread name fits HFSPLUS_MAX_STRLEN. Reject non-thread records before building the delete key from the validated thread name. Share the thread-record-type helper between hfsplus_find_cat() and hfsplus_delete_cat().

📍 영향받는 시스템

HFS+ 파일 시스템을 사용하는 Linux 커널 버전

⚔️ 공격 벡터

조작된(corrupted) HFS+ 이미지 파일을 마운트하거나 읽는 행위

🛡️ 대응 방법

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:H/A:H

💻 영향받는 소프트웨어

Linux Kernel