🔍 CVE-2026-98169

7.1
CVSS Score
HIGH
2026-10-06
2026-10-19 10:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 SMB 클라이언트에서 smb3_enum_snapshots() 함수 호출 시 경계 외 읽기(OOB Read) 취약점이 발견되었습니다. 서버의 응답 길이가 할당된 버퍼보다 작을 경우, copy_to_user() 과정에서 버퍼 범위를 벗어나 인접한 슬랩 메모리를 사용자 공간으로 유출할 수 있습니다.

💡 쉬운 설명

컴퓨터가 서버로부터 데이터를 받을 때, 실제 데이터보다 더 많은 양을 읽으려고 시도하여 메모리에 숨겨진 민감한 정보를 외부로 흘릴 수 있는 문제입니다. 이로 인해 시스템 내부의 중요한 정보가 공격자에게 노출될 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix potential OOB read in smb3_enum_snapshots() If snapshot_array_size is smaller than GMT_TOKEN_SIZE, smb3_enum_snapshots() sets ret_data_len to sizeof(struct smb_snapshot_array) without verifying the actual length of the server's reply. Because SMB2_ioctl() places no lower bound on the server-supplied OutputCount and allocates retbuf to exactly that length, a short reply results in ret_data_len exceeding the size of retbuf. The subsequent copy_to_user() then reads past the end of retbuf, leaking adjacent slab memory to userspace. The subsequent clamp check is ineffective as it only reduces ret_data_len. Fix this by rejecting replies shorter than sizeof(struct smb_snapshot_array) with -EIO. Note that the bound is set to the 12-byte struct size rather than the 16-byte MIN_SNAPSHOT_ARRAY_SIZE defined in MS-SMB2 3.3.5.15.1, because 12 bytes is exactly what copy_to_user() attempts to read.

📍 영향받는 시스템

SMB3 기능을 사용하는 Linux 커널 버전

⚔️ 공격 벡터

조작된 짧은 응답을 보내는 악의적인 SMB 서버를 통해 메모리 정보를 유출하는 방식

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 smb3_enum_snapshots()의 길이 검증 로직을 적용해야 합니다.

🔧 검증 코드

출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 보안 공지(CVE-2026-98169)와 대조합니다.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel