🇰🇷 한글 설명
Linux 커널의 ksmbd 모듈에서 NTLM 인증이 완료되기 전에 이전 세션을 파괴하는 함수가 호출되는 취약점이 발견되었습니다. 공격자가 조작된 NTLM 블롭을 사용하여 인증되지 않은 상태에서 다른 사용자의 세션을 강제로 종료시킬 수 있습니다.
💡 쉬운 설명
해커가 가짜 정보를 보내 로그인 과정 중에 다른 사용자의 연결을 강제로 끊어버릴 수 있는 문제입니다. 인증이 완전히 끝나기도 전에 기존 연결을 삭제하는 순서상의 오류 때문에 발생합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: defer destroy_previous_session() until after NTLM authentication
In ntlm_authenticate(), destroy_previous_session() is called using a
user pointer resolved from the client-supplied NTLM blob username field
before the NTLMv2 response is validated. An authenticated attacker can
set the NTLM blob username to match a victim account and set
PreviousSessionId to the victim's session ID; destroy_previous_session()
destroys the victim's session while ksmbd_decode_ntlmssp_auth_blob()
subsequently rejects the request with -EPERM.
Move destroy_previous_session() and the prev_id assignment to after
ksmbd_decode_ntlmssp_auth_blob() returns success and use sess->user
rather than the pre-authentication lookup result. This matches the
ordering already used by krb5_authenticate(), where
destroy_previous_session() is called only after
ksmbd_krb5_authenticate() returns success.
📍 영향받는 시스템
Linux kernel (ksmbd module 포함 버전)
⚔️ 공격 벡터
조작된 NTLM 블롭의 사용자 이름 필드와 세션 ID를 이용한 원격 공격
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 확인하십시오.