Linux 커널에서는 다음 취약점이 해결되었습니다. ksmbd: 내구성 있는 스캐빈저를 통해 __ksmbd_close_fd()에서 use-after-free 수정 내구성 있는 파일 핸들이 세션 연결 해제 상태를 유지하는 경우(TCP는 없이 종료됨) SMB2_LOGOFF), session_fd_check()는 fp->conn = NULL을 설정하여 나중에 다시 연결하기 위한 핸들입니다. 그러나 바이트 범위는 정리되지 않았습니다. fp->lock_list에 대한 잠금입니다. 나중에 내구성 있는 스캐빈저 스레드가 시간 초과되어 호출될 때 __ksmbd_close_fd(NULL, fp), 잠금 정리 루프는 다음을 수행했습니다.
Linux 커널에서는 다음 취약점이 해결되었습니다.
ksmbd: 내구성 있는 스캐빈저를 통해 __ksmbd_close_fd()에서 use-after-free 수정
내구성 있는 파일 핸들이 세션 연결 해제 상태를 유지하는 경우(TCP는 없이 종료됨) SMB2_LOGOFF), session_fd_check()는 fp->conn = NULL을 설정하여 나중에 다시 연결하기 위한 핸들입니다. 그러나 바이트 범위는 정리되지 않았습니다. fp->lock_list에 대한 잠금입니다.
나중에 내구성 있는 스캐빈저 스레드가 시간 초과되어 호출될 때 __ksmbd_close_fd(NULL, fp), 잠금 정리 루프는 다음을 수행했습니다.
spin_lock(&fp->conn->llist_lock);
fp->conn이 NULL이고 원래 연결 개체가 이미 해제되었습니다. ksmbd_tcp_disconnect().
근본 원인은 비대칭 정리입니다. 잠금 항목(smb_lock->clist)이 fp->conn이 null이 되는 동안 해제된 conn->lock_list에 매달려 있는 상태로 남아 있습니다.
이 문제를 제대로 해결하려면 수명을 처리해야 합니다. 3개 경로에 걸친 smb_lock->clist:
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 98.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 98.00 |
VPI 공식 vpi-v1 기준