CVE-2026-53383 in Linux
요약
\~에 의해 VulDB • 2026. 07. 19.
리눅스 커널에서 다음 취약점이 해결되었습니다:
ksmbd: 복합 요청 분기에서 유효하지 않은 세션을 거부함
smb2_check_user_session()은 COMPOUND 요청의 첫 번째 작업이 아닌 모든 작업에 대해 최적화를 수행합니다. 이 함수는 work->sess(첫 번째 작업과 바인딩된 세션)를 재사용하고 SessionId만 검증한 후 "valid"로 반환합니다. 그러나 work->sess->state == SMB2_SESSION_VALID 상태를 다시 확인하지 않으며, SessionId가 0xFFFFFFFFFFFFFFFF (ULLONG_MAX, MS-SMB2 관련 연산 값임)일 경우 ID 비교조차 건너뜁니다. 독립 실행형 경로(ksmbd_session_lookup_all() 및 SESSION_SETUP 상태 머신)는 VALID 상태를 강제하지만, 복합 요청 분기는 이를 모두 우회합니다.
NTLM Type-1(NtLmNegotiate) blob만 포함하는 SESSION_SETUP은 fresh한 SMB2_SESSION_IN_PROGRESS 세션을 게시하며, 이때 sess->user는 여전히 NULL입니다(->user는 나중에 ntlm_authenticate()에 의해 할당됨). COMPOUND의 작업 1로 사용되고 작업 2가 TREE_CONNECT인 경우(관련 항목: SessionId=ULLONG_MAX, \\host\IPC$), 트리가 연결된 후 IN_PROGRESS 세션에서 실행되어 ksmbd_ipc_tree_connect_request()에 도달합니다. 이 지점에서 user_name(sess->user)를 역참조할 때 sess->user가 NULL이므로(transport_ipc.c:687/701/704), 원격 NULL 포인터 역참조 및 커널 Oops가 발생하여 모든 클라이언트에 대해 ksmbd 워커가 중단됩니다.
독립 실행형 조회 경로에서 강제하는 유효성을 반영하여, SMB2_SESSION_VALID 상태가 아닌 세션에 도달하는 첫 번째가 아닌 복합 작업을 모두 거부합니다. SESSION_SETUP 자체는 IN_PROGRESS 세션에서 정상적으로 실행되지만, 이는 첫 번째가 아닌 복합 작업으로 전달되지 않으므로 이 검사로 인해 다중 단계 인증에는 영향을 받지 않습니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.