🇰🇷 한글 설명
Linux 커널의 ksmbd 모듈에서 세션 조회와 만료 프로세스 간의 경쟁 상태(Race Condition)로 인해 Use-After-Free(UAF) 취약점이 발생합니다. 이 문제는 세션이 삭제된 후에도 해당 메모리에 접근을 시도하여 시스템 불안정성이나 권한 상승을 초래할 수 있습니다.
💡 쉬운 설명
컴퓨터가 사용 중인 정보를 삭제하는 과정과 확인하는 과정이 동시에 일어나면서, 이미 삭제된 정보를 다시 사용하려고 할 때 발생하는 오류입니다. 이로 인해 해커가 시스템의 제어권을 뺏을 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: fix race condition between session lookup and expire
Thread A + Thread B
ksmbd_session_lookup | smb2_sess_setup
sess = xa_load |
|
| xa_erase(&conn->sessions, sess->id);
|
| ksmbd_session_destroy(sess) --> kfree(sess)
|
// UAF! |
sess->last_active = jiffies |
+
This patch add rwsem to fix race condition between ksmbd_session_lookup
and ksmbd_expire_session.
📍 영향받는 시스템
ksmbd 모듈을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
네트워크를 통해 조작된 SMB 세션 요청을 보내 세션 조회와 만료를 동시에 유도하는 방식
🛡️ 대응 방법
ksmbd 세션 관리에 rwsem(읽기-쓰기 세마포어)이 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 ksmbd 패치가 적용된 최신 보안 업데이트 버전인지 확인