🇰🇷 한글 설명
Linux 커널의 ksmbd 모듈에서 세션 바인딩 과정 중 전역 세션 조회 로직의 결함이 발견되었습니다. 이로 인해 특정 연결이 자신과 관계없는 다른 세션을 식별하거나 접근할 수 있는 보안 취약점이 존재했습니다. 패치를 통해 전역 조회가 해당 연결이 등록된 채널 내에서만 이루어지도록 제한하여 문제를 해결했습니다.
💡 쉬운 설명
인터넷 공유 폴더 기능을 담당하는 프로그램에서 다른 사용자의 연결 정보를 몰래 훔쳐볼 수 있는 허점이 있었습니다. 이제는 허가된 연결 정보만 확인할 수 있도록 보안 규칙이 강화되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: scope conn->binding slowpath to bound sessions only
When the binding SESSION_SETUP sets conn->binding = true, the flag stays
set after the call so that the global session lookup in
ksmbd_session_lookup_all() can find the session, which was not added to
conn->sessions. Because the flag is connection-wide, the global lookup
path will also resolve any other session by id if asked.
Tighten the global lookup so that the returned session must have this
connection registered in its channel xarray (sess->ksmbd_chann_list).
The channel entry is installed by the existing binding_session path in
ntlm_authenticate()/krb5_authenticate() when a SESSION_SETUP completes
successfully, so this condition is a strict equivalent of "this
connection has been accepted as a channel of this session". Connections
that have not bound to a given session cannot reach it via the global
table.
The existing conn->binding gate for entering the slowpath is preserved
so that non-binding connections keep the fast-path-only behavior, and
the session->state check is unchanged.
📍 영향받는 시스템
Linux kernel (ksmbd 모듈 포함 버전)
⚔️ 공격 벡터
ksmbd의 세션 바인딩 메커니즘을 악용하여 전역 세션 조회 경로를 통해 다른 세션의 ID를 탈취하거나 접근 시도
🛡️ 대응 방법
ksmbd 취약점이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인