🇰🇷 한글 설명
Linux 커널의 RDMA/siw 드라이버에서 헤더 처리 시 NULL 포인터 역참조 취약점이 발견되었습니다. siw_get_hdr()가 -EINVAL을 반환할 때 qp->rx_fpdu가 NULL 상태로 남아있으나, siw_tcp_rx_data()의 에러 경로에서 이를 검증하지 않고 접근하여 시스템 충돌을 유발할 수 있습니다.
💡 쉬운 설명
Linux 커널의 네트워크 드라이버에서 메모리 주소가 존재하지 않는데도 접근하려고 하는 버그입니다. 특정 네트워크 요청이 들어올 때 시스템이 갑자기 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
RDMA/siw: Fix potential NULL pointer dereference in header processing
If siw_get_hdr() returns -EINVAL before set_rx_fpdu_context(),
qp->rx_fpdu can be NULL. The error path in siw_tcp_rx_data()
dereferences qp->rx_fpdu->more_ddp_segs without checking, which
may lead to a NULL pointer deref. Only check more_ddp_segs when
rx_fpdu is present.
KASAN splat:
[ 101.384271] KASAN: null-ptr-deref in range [0x00000000000000c0-0x00000000000000c7]
[ 101.385869] RIP: 0010:siw_tcp_rx_data+0x13ad/0x1e50
📍 영향받는 시스템
Linux kernel RDMA/siw 드라이버 (버전 명시 없음 - 최신 stable 버전 확인 필요)
⚔️ 공격 벡터
로컬 또는 네트워크를 통한 악의적인 RDMA 헤더 전송으로 NULL 포인터 역참조 트리거
🛡️ 대응 방법
Linux 커널을 최신 패치된 버전으로 업데이트하거나 siw_tcp_rx_data() 함수에서 rx_fpdu NULL 체크 추가
🔧 검증 코드
커널 버전을 확인한 후 RDMA/siw가 활성화되어 있는지 확인합니다. 활성화된 경우 배포판의 보안 업데이트를 확인하여 패치 적용 여부를 판단합니다.
uname -r | grep -E '^[0-9]+\.[0-9]+' && grep -i 'siw' /boot/config-$(uname -r) 2>/dev/null