🔍 CVE-2022-50581

7.8
CVSS Score
HIGH
2025-10-22
2026-08-04 10:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 HFS 파일 시스템 구현 중 __hfs_brec_find 함수에서 경계 외 읽기(Out-of-Bounds Read) 취약점이 발견되었습니다. HFS 파일 이름의 최대 길이를 초과하는 잘못된 inode 입력이 처리될 때 발생하며, 이는 시스템 안정성에 영향을 줄 수 있습니다.

💡 쉬운 설명

파일 시스템이 파일 이름을 읽는 과정에서 정해진 범위를 벗어나 메모리를 읽으려고 시도하는 오류입니다. 잘못된 데이터가 입력되면 컴퓨터 시스템이 예상치 못한 동작을 하거나 멈출 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: hfs: fix OOB Read in __hfs_brec_find Syzbot reported a OOB read bug: ================================================================== BUG: KASAN: slab-out-of-bounds in hfs_strcmp+0x117/0x190 fs/hfs/string.c:84 Read of size 1 at addr ffff88807eb62c4e by task kworker/u4:1/11 CPU: 1 PID: 11 Comm: kworker/u4:1 Not tainted 6.1.0-rc6-syzkaller-00308-g644e9524388a #0 Workqueue: writeback wb_workfn (flush-7:0) Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1b1/0x28e lib/dump_stack.c:106 print_address_description+0x74/0x340 mm/kasan/report.c:284 print_report+0x107/0x1f0 mm/kasan/report.c:395 kasan_report+0xcd/0x100 mm/kasan/report.c:495 hfs_strcmp+0x117/0x190 fs/hfs/string.c:84 __hfs_brec_find+0x213/0x5c0 fs/hfs/bfind.c:75 hfs_brec_find+0x276/0x520 fs/hfs/bfind.c:138 hfs_write_inode+0x34c/0xb40 fs/hfs/inode.c:462 write_inode fs/fs-writeback.c:1440 [inline] If the input inode of hfs_write_inode() is incorrect: struct inode struct hfs_inode_info struct hfs_cat_key struct hfs_name u8 len # len is greater than HFS_NAMELEN(31) which is the maximum length of an HFS filename OOB read occurred: hfs_write_inode() hfs_brec_find() __hfs_brec_find() hfs_cat_keycmp() hfs_strcmp() # OOB read occurred due to len is too large Fix this by adding a Check on len in hfs_write_inode() before calling hfs_brec_find().

📍 영향받는 시스템

HFS 파일 시스템을 사용하는 Linux 커널 버전 (특히 6.1.0-rc6 이전 버전)

⚔️ 공격 벡터

조작된 HFS 파일 시스템 이미지를 마운트하거나 잘못된 inode 정보를 포함한 데이터를 전달하여 발생

🛡️ 대응 방법

hfs_write_inode() 함수 호출 전 파일 이름 길이(len)를 검증하는 로직을 추가하여 커널을 업데이트해야 합니다.

🔧 검증 코드

출력된 커널 버전이 취약점이 수정된 최신 보안 패치 버전인지 확인합니다.

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