CVE-2026-72464 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 15.

리눅스 커널에서 다음 취약점이 해결되었습니다:

xprtrdma: 잘못된 응답에 대한 Receive 버퍼 재포스트

rpcrdma_wc_receive()는 성공적인 Receive를 rpcrdma_reply_handler()로 전달하기 전에, 모든 완료(Completion)마다 전송 계층의 Receive 카운트를 감소시킵니다. 해당 핸들러는 리플(rep)의 소유권이 백채널 경로와 같이 다른 곳으로 이동하지 않는 한 반환하기 전에 대체 Receive WR(Wr Work Request)를 포스트해야 합니다.

커밋 2ae50ad68cd7("xprtrdma: waking RPC senders와 posting Receives 사이의 창 닫기")은 rpcrdma_wc_receive()에서 수행되던 모든 응답보다 앞서 실행되었던 Receive 리필(refill)을 rpcrdma_reply_handler()로 이동하여, 재포스트하기 전에 응답자의 크레딧 할당량(credit grant)을 파싱할 수 있도록 했습니다. 그러나 bad-version 및 short-reply 종료 경로는 해당 리필에 도달하지 않습니다: 이들은 rep를 재활용하고 rpcrdma_post_recvs()를 호출하지 않고 반환합니다.

따라서 원격 피어는 고정된 전송 헤더보다 짧은 응답이나 인식되지 않는 RPC/RDMA 버전을 포함하는 지속적 스트림의 응답을 보내 클라이언트의 포스트된 Receive 큐를 고갈시킬 수 있습니다. 각 응답은 하나의 포스트된 Receive를 소모하지만 이를 대체하지 않습니다. 큐가 비면 피어의 다음 Send는 포스트된 Receive를 찾지 못하며, 재연결될 때까지 전송 계층이 중단됩니다.

잘못된 응답 종료 경로를 모두 rep 재활용 후 공유 리포스트 꼬리(tail)로 라우팅하고, 가장 최근의 승인된 크레딧 할당량인 buf->rb_credits에 대해 리필합니다. 어느 종료 경로도 혼잡 윈도우(congestion window)를 업데이트하지 않으므로, 이전 할당량 하에서 허용된 RPC들은 응답을 기다리며 비행 중(flight)으로 남습니다. 더 작은 리필 대상은 잘못된 응답 스트림이 혼잡 윈도우가 여전히 rb_credits개의 RPC들을 수용하는 동안 포스트된 Receive 카운트를 배치 바닥치(batch floor)까지 낮추도록 만들 수 있습니다; 그런 다음 해당 RPC들에 대한 유효한 응답의 버스트는 포스트된 Receives를 초과할 수 있으며, 클라이언트가 rnr_retry_count가 0으로 연결되므로 단일 RNR NAK(Negative Acknowledgment)이 연결을 종료시킵니다. rb_credits에 대해 리필하는 것은 또한 커밋 2ae50ad68cd7("xprtrdma: waking RPC senders와 posting Receives 사이의 창 닫기") 이전, rpcrdma_post_recvs()가 내부적으로 rb_credits로부터 계산하던 잘못된 응답 대상도 복원합니다. 연결 수립 이후 rb_credits는 최소 1 이상이므로 리포스트 경로는 항상 Receive를 포스트된 상태로 유지합니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Linux

예약하다

2026. 08. 09.

모더레이션

수락

항목

VDB-390710

EPSS

0.00215

출처

Do you need the next level of professionalism?

Upgrade your account now!