🔍 CVE-2026-64139

5.5
CVSS Score
MEDIUM
2026-07-19
2026-08-23 13:16
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ksmbd 모듈에서 DACL 크기 오버플로우를 방지하기 위해 도입된 체크 로직이 오히려 메모리 누수를 유발하는 취약점입니다. 오버플로우 감지 시 루프를 탈출하는 과정에서 할당된 SID 메모리가 해제되지 않아 커널 메모리가 고갈될 수 있습니다.

💡 쉬운 설명

파일의 권한 설정 정보가 너무 많을 때 이를 처리하는 과정에서 컴퓨터의 중요한 메모리를 제대로 비워주지 못하는 문제입니다. 공격자가 이 점을 악용하면 시스템의 메모리를 모두 써버려 컴퓨터를 멈추게 할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix SID memory leak in set_posix_acl_entries_dacl() on overflow Commit 299f962c0b02 ("ksmbd: use check_add_overflow() to prevent u16 DACL size overflow") added check_add_overflow() guards that break out of the ACE-building loops in set_posix_acl_entries_dacl() when the accumulated DACL size would wrap past 65535. However, each iteration allocates a struct smb_sid via kmalloc_obj() at the top of the loop and relies on the kfree(sid) call at the end of the loop body (the 'pass_same_sid' label in the first loop, and the explicit kfree at the tail of the second loop) to release it. The newly introduced 'break' statements bypass those kfree() calls, leaking the sid buffer every time an overflow is detected. A malicious or malformed file with enough POSIX ACL entries to trip the overflow check will leak one or more struct smb_sid allocations on every request that touches the file's DACL, providing a trivial kernel memory exhaustion vector. Free sid before breaking out of the loops to plug the leak.

📍 영향받는 시스템

Linux kernel (ksmbd module included)

⚔️ 공격 벡터

POSIX ACL 항목이 과도하게 포함된 악성 파일을 통해 ksmbd 요청을 반복적으로 수행하여 커널 메모리 고갈 유도

🛡️ 대응 방법

커널 패치(Commit 299f962c0b02 적용 버전)를 통해 루프 탈출 전 메모리를 해제하도록 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel