🇰🇷 한글 설명
Linux 커널의 RDMA/siw 드라이버에서 ISER를 실행할 때, skb_splice_from_iter() 함수가 슬랩 페이지를 사용하는 과정에서 경고를 발생시키는 취약점입니다. 이를 해결하기 위해 드라이버 내부에 sendpage_ok() 체크를 추가하여 MSG_SPLIT_PAGES 플래그를 비활성화하도록 수정되었습니다.
💡 쉬운 설명
데이터를 전송하는 과정에서 시스템의 메모리 관리 방식에 오류가 발생하여 시스템이 불안정해질 수 있는 문제입니다. 이로 인해 컴퓨터가 갑자기 멈추거나 예상치 못한 동작을 할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
RDMA/siw: Add sendpage_ok() check to disable MSG_SPLICE_PAGES
While running ISER over SIW, the initiator machine encounters a warning
from skb_splice_from_iter() indicating that a slab page is being used in
send_page. To address this, it is better to add a sendpage_ok() check
within the driver itself, and if it returns 0, then MSG_SPLICE_PAGES flag
should be disabled before entering the network stack.
A similar issue has been discussed for NVMe in this thread:
https://lore.kernel.org/all/
[email protected]/
WARNING: CPU: 0 PID: 5342 at net/core/skbuff.c:7140 skb_splice_from_iter+0x173/0x320
Call Trace:
tcp_sendmsg_locked+0x368/0xe40
siw_tx_hdt+0x695/0xa40 [siw]
siw_qp_sq_process+0x102/0xb00 [siw]
siw_sq_resume+0x39/0x110 [siw]
siw_run_sq+0x74/0x160 [siw]
kthread+0xd2/0x100
ret_from_fork+0x34/0x40
ret_from_fork_asm+0x1a/0x30
📍 영향받는 시스템
RDMA/siw 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
특정 네트워크 프로토콜(ISER over SIW)을 사용하는 환경에서 조작된 데이터 전송을 통한 커널 경고 및 불안정 유발
🛡️ 대응 방법
해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 패치된 최신 릴리스 버전인지 확인