CVE-2026-98257 in Linux
요약
\~에 의해 VulDB • 2026. 10. 06.
Linux 커널에서 다음 취약점이 해결되었습니다:
rds: ib: 프로토콜 버전 불일치 시 rds_conn_drop() 사용
rds_ib_cm_connect_complete()은 RDMA-CM 이벤트 핸들러 내에서 conn->c_cm_lock이 잠겨 있는 상태에서 실행됩니다. 피어(peer)가 RDS_PROTOCOL_COMPAT_VERSION보다 낮은 프로토콜 버전을 협상할 경우, 해당 핸들러는 rds_conn_destroy()를 호출합니다. 이는 rmmod 경로에서만 안전한데, 왜냐하면 이 함수는 연결을 동기적으로 종료하고 shutdown 작업인 cp_down_w에 대해 flush_work()를 수행하기 때문입니다.
이 shutdown 작업(rds_conn_shutdown())은 cp_cm_lock을 필요로 하는데, 이는 이벤트 핸들러가 현재 보유하고 있는 바로 그 잠금입니다. 따라서 flush 작업이 완료되지 않으며, 두 워커(worker)가 서로를 대기하게 되어 RDS 연결의 workqueue들이 영구적으로 중단됩니다.
다른 모든 RDMA-CM 실패 경로(REJECTED, CONNECT_ERROR, DISCONNECTED)에서는 rds_conn_drop()을 사용하여 연결 상태를 RDS_CONN_ERROR로 표시하고 shutdown 작업을 비동기적으로 예약합니다. 여기에서도 이를 사용해야 합니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.