🔍 CVE-2024-44939

7.8
CVSS Score
HIGH
2024-08-26
2026-08-04 11:20
✅ 완료

🇰🇷 한글 설명

Linux 커널의 JFS 파일 시스템 내 dtInsertEntry 함수에서 발생하는 Null 포인터 역참조 취약점입니다. 특정 조건에서 데이터 트리 삽입 중 헤더 플래그가 잘못 변경되어 초기화되지 않은 객체에 접근함으로써 시스템 충돌이나 일반 보호 오류(GPF)를 유발할 수 있습니다.

💡 쉬운 설명

리눅스 컴퓨터의 파일 저장 방식 중 하나인 JFS에서 데이터 기록 중 오류가 발생하여 시스템이 갑자기 멈추거나 꺼질 수 있는 문제입니다. 잘못된 메모리 주소를 참조하면서 발생하는 소프트웨어 결함입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: jfs: fix null ptr deref in dtInsertEntry [syzbot reported] general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] PREEMPT SMP KASAN PTI KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f] CPU: 0 PID: 5061 Comm: syz-executor404 Not tainted 6.8.0-syzkaller-08951-gfe46a7dd189e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 RIP: 0010:dtInsertEntry+0xd0c/0x1780 fs/jfs/jfs_dtree.c:3713 ... [Analyze] In dtInsertEntry(), when the pointer h has the same value as p, after writing name in UniStrncpy_to_le(), p->header.flag will be cleared. This will cause the previously true judgment "p->header.flag & BT-LEAF" to change to no after writing the name operation, this leads to entering an incorrect branch and accessing the uninitialized object ih when judging this condition for the second time. [Fix] After got the page, check freelist first, if freelist == 0 then exit dtInsert() and return -EINVAL.

📍 영향받는 시스템

JFS(Journaled File System)를 사용하는 Linux 커널 버전 (특히 6.8.0 및 관련 취약 버전)

⚔️ 공격 벡터

조작된 JFS 파일 시스템 이미지를 마운트하거나 파일 시스템 구조를 조작하여 커널의 메모리 오류를 유도함

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 dtInsertEntry 함수의 로직 수정 사항을 반영해야 함

🔧 검증 코드

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

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