🔍 CVE-2026-64398

8.1
CVSS Score
HIGH
2026-07-25
2026-09-04 14:46
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ksmbd 모듈에서 FSCTL_SET_ZERO_DATA 요청 시 적절한 권한 검사가 누락된 취약점입니다. 파일 쓰기 권한이 없는 사용자가 특정 핸들을 통해 파일 데이터를 임의로 삭제하거나 0으로 채울 수 있습니다.

💡 쉬운 설명

파일의 내용을 수정할 권한이 없는 사용자가 특수한 명령을 보내 파일의 내용을 지워버릴 수 있는 보안 결함입니다. 이로 인해 중요한 데이터가 의도치 않게 손실될 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: ksmbd: add a permission check for FSCTL_SET_ZERO_DATA FSCTL_SET_ZERO_DATA in smb2_ioctl() destroys file data via ksmbd_vfs_zero_data() -> vfs_fallocate(PUNCH_HOLE/ZERO_RANGE) after checking only the share-level KSMBD_TREE_CONN_FLAG_WRITABLE, with no per-handle access check. A handle opened with only FILE_WRITE_ATTRIBUTES still yields an FMODE_WRITE filp (FILE_WRITE_ATTRIBUTES is part of FILE_WRITE_DESIRE_ACCESS_LE, so smb2_create_open_flags() opens it O_WRONLY), so the vfs_fallocate FMODE_WRITE check does not stop it; only the missing fp->daccess gate would. Reproduced on mainline 7.1-rc7 with KASAN by an authenticated SMB client: a FILE_WRITE_ATTRIBUTES-only handle zeroed 4096 bytes of file data it had no FILE_WRITE_DATA right to (6/6; a FILE_READ_DATA-only handle was correctly denied). This is the unfixed sibling of commit cc57232cae23 ("ksmbd: fix FSCTL permission bypass by adding a permission check for FSCTL_SET_SPARSE"). Because SET_ZERO_DATA writes data (not an attribute), require FILE_WRITE_DATA.

📍 영향받는 시스템

Linux kernel (ksmbd module enabled, specifically tested on mainline 7.1-rc7 and similar versions)

⚔️ 공격 벡터

인증된 SMB 클라이언트가 FILE_WRITE_ATTRIBUTES 권한만 가진 상태에서 FSCTL_SET_ZERO_DATA ioctl 요청을 전송

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 ksmbd의 FSCTL 권한 검사 로직을 적용해야 합니다.

🔧 검증 코드

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

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel