🔍 CVE-2026-98454

8.1
CVSS Score
HIGH
2026-10-18
2026-10-30 13:21
✅ 완료

🇰🇷 한글 설명

Linux 커널 SMB 클라이언트의 create context 파싱 로직에 결함이 있어, 각 컨텍스트를 Next 값으로 제한하지 않고 핸들러에 전달하여 범위 밖 메모리 읽기가 발생할 수 있습니다. 또한 SMB2/SMB3 lease 파서가 DataOffset 대신 고정 오프셋을 읽고 DataLength를 검증하지 않아 잘못된 데이터를 해석할 수 있으며, 이를 수정하여 컨텍스트 경계와 lease 구조 크기를 엄격히 검사하도록 변경되었습니다.

💡 쉬운 설명

악의적으로 조작된 SMB 패킷을 받으면 커널이 허용되지 않은 메모리 영역의 데이터를 잘못 읽을 수 있습니다. 이 문제는 패킷 내부 길이 값을 충분히 검사하지 않아 발생하며, 패치로 길이 검증을 강화했습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix create context out-of-bounds reads smb2_parse_contexts() validates the complete create-context area but does not limit each record to its Next field before dispatching it. A malformed chain can therefore expose bytes beyond the current context to a handler. The QFid handler also used a full response-structure cast although it only reads DiskFileId. The SMB2/SMB3 lease parsers made the same layout assumption: they read LeaseState and LeaseFlags at canonical offsets rather than at DataOffset. A valid non-canonical DataOffset could therefore yield unrelated in-bounds data, while a short DataLength was still accepted. Limit each context to its Next value, reject offsets before the context header, and reject malformed chains. Bound the name range by the current context and do not dispatch a known handler when DataLength is zero. Read the QFid DiskFileId only when the context data covers that field. Parse the lease context from DataOffset and require DataLength to match the v1 or v2 lease_context size used by ksmbd. A size mismatch skips lease parsing without failing the open.

📍 영향받는 시스템

패치 이전의 Linux 커널 (SMB 클라이언트 기능 포함 버전, 정확한 버전 범위는 커널 공지 확인 필요)

⚔️ 공격 벡터

네트워크상의 악의적인 SMB 서버가 조작된 create context 응답을 보내 클라이언트 커널의 범위 밖 읽기를 유발

🛡️ 대응 방법

배포판 제공 최신 커널 업데이트를 적용하고 재부팅하거나, 불필요한 경우 cifs/smb 클라이언트 모듈을 비활성화

🔧 검증 코드

출력된 커널 버전이 해당 배포판의 수정된 패키지 버전 이상인지 확인하고, cifs 또는 smb 모듈이 로드되어 있지 않으면 해당 공격 표면이 노출되지 않은 것으로 판단

Shell / Script
uname -r && (lsmod | grep -E 'cifs|smb') 2>/dev/null

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel