🇰🇷 한글 설명
Linux 커널의 IB/mad 구성 요소에서 RMPP 응답 재조립 과정 중 매칭되지 않은 응답을 사전에 차단하지 못하는 취약점이 발견되었습니다. 이로 인해 요청되지 않은 RMPP 응답이 커널 에이전트에 도달할 경우, 유효성 검사 전에 커널의 RMPP 수신 상태를 할당하거나 확장할 수 있습니다. 이를 해결하기 위해 재조립 단계 이전에 ib_find_send_mad()를 통해 요청과 응답의 일치 여부를 먼저 확인하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터가 요청하지도 않은 데이터를 받았을 때, 그것이 진짜인지 확인하기도 전에 메모리 공간을 미리 만들어버리는 문제입니다. 공격자가 가짜 응답을 보내 시스템의 자원을 낭비하게 만들 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
IB/mad: Drop unmatched RMPP responses before reassembly
Kernel-handled RMPP receive processing starts reassembly for active
DATA responses before the response is matched to an outstanding send.
The normal match happens later, after ib_process_rmpp_recv_wc() has
either assembled a complete message or consumed the segment.
That ordering lets an unsolicited response that routes to a kernel
RMPP agent by the high TID bits allocate or extend RMPP receive state
before the full TID and source address are checked against a real
request. A reordered burst can therefore reach the receive-side
insertion path even though the response would not match any send.
For kernel-handled RMPP DATA responses, require the existing
ib_find_send_mad() match before entering RMPP reassembly. The matcher
already checks the full TID, management class and source address/GID
against the agent wait, backlog and in-flight send lists. If there is
no match, drop the response without creating RMPP state.
This leaves the RMPP window behavior unchanged and only rejects
responses that have no corresponding request.
📍 영향받는 시스템
Linux Kernel (IB/mad 관련 RMPP 기능을 사용하는 시스템)
⚔️ 공격 벡터
요청되지 않은 RMPP DATA 응답을 전송하여 커널의 수신 상태를 강제로 할당하거나 확장하는 방식
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 RMPP 응답 매칭 로직을 적용해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이상인지 확인합니다.