🇰🇷 한글 설명
Linux 커널의 IB/core 구성 요소에서 UMAD 수신 리스트의 크기가 제한되지 않아 발생하는 취약점입니다. 수신되는 MAD 패킷의 속도가 사용자 공간의 처리 속도보다 빠를 경우 리스트가 무한히 증가하여 시스템 자원을 고갈시킬 위험이 있습니다.
💡 쉬운 설명
데이터를 받는 바구니의 크기가 정해져 있지 않아, 데이터가 너무 빨리 들어오면 바구니가 계속 커지면서 컴퓨터 메모리를 모두 써버릴 수 있는 문제입니다. 이를 방지하기 위해 바구니의 최대 크기를 제한하는 조치가 적용되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
IB/core: Implement a limit on UMAD receive List
The existing behavior of ib_umad, which maintains received MAD
packets in an unbounded list, poses a risk of uncontrolled growth.
As user-space applications extract packets from this list, the rate
of extraction may not match the rate of incoming packets, leading
to potential list overflow.
To address this, we introduce a limit to the size of the list. After
considering typical scenarios, such as OpenSM processing, which can
handle approximately 100k packets per second, and the 1-second retry
timeout for most packets, we set the list size limit to 200k. Packets
received beyond this limit are dropped, assuming they are likely timed
out by the time they are handled by user-space.
Notably, packets queued on the receive list due to reasons like
timed-out sends are preserved even when the list is full.
📍 영향받는 시스템
Linux kernel (IB/core 관련 모듈 사용 시스템)
⚔️ 공격 벡터
대량의 MAD 패킷을 지속적으로 전송하여 커널 내 UMAD 수신 리스트의 메모리 점유를 유도하는 방식
🛡️ 대응 방법
최신 보안 패치가 적용된 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인