🇰🇷 한글 설명
Linux 커널의 ksmbd RDMA 서버에서 워크큐 정리 순서 오류로 인한 취약점입니다. stop_sessions() 전에 smb_direct_wq를 파괴하면 활성 연결이 NULL 포인터를 역참조하여 커널 패닉을 유발할 수 있습니다.
💡 쉬운 설명
Linux 파일 서버의 정리 순서가 잘못되어 실행 중인 네트워크 연결이 손상됩니다. 서버가 갑자기 중단될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
smb: server: split ksmbd_rdma_stop_listening() out of ksmbd_rdma_destroy()
We can't call destroy_workqueue(smb_direct_wq); before stop_sessions()!
Otherwise already existing connections try to use smb_direct_wq as
a NULL pointer.
📍 영향받는 시스템
RDMA를 사용하는 ksmbd 기능이 활성화된 모든 Linux 커널
⚔️ 공격 벡터
원격 공격자가 SMB RDMA 연결을 유지하면서 서버 재시작/종료를 트리거하여 서비스 거부 유발
🛡️ 대응 방법
Linux 커널을 최신 버전으로 업데이트하여 ksmbd_rdma_stop_listening() 함수 분리 패치 적용
🔧 검증 코드
커널 버전을 확인하고 RDMA 함수가 분리되었는지 검증합니다. 함수가 없거나 커널 버전이 최신이면 패치 적용된 상태입니다.
uname -r && grep -c 'ksmbd_rdma_stop_listening' /lib/modules/$(uname -r)/kernel/fs/smb/server/smb_common.ko 2>/dev/null || echo 'Module not found - likely patched'