🇰🇷 한글 설명
리눅스 커널의 io_uring/zcrx 구성 요소에서 수신 제한 범위를 초과하는 취약점이 발견되었습니다. io_zcrx_recv_skb() 함수가 데이터 버퍼와 프래그먼트 리스트를 처리하는 과정에서 카운트를 중복 계산하여 언더플로우가 발생할 수 있습니다.
💡 쉬운 설명
데이터를 받을 때 정해진 양보다 더 많은 양을 받게 되어 시스템 오류를 일으킬 수 있는 문제입니다. 데이터 개수를 세는 과정에서 계산 실수가 발생하여 발생하는 결함입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
io_uring/zcrx: fix overshooting recv limit
It's reported that sometimes a zcrx request can receive more than was
requested. It's caused by io_zcrx_recv_skb() adjusting desc->count for
all received buffers including frag lists, but then doing recursive
calls to process frag list skbs, which leads to desc->count double
accounting and underflow.
📍 영향받는 시스템
io_uring의 zcrx 기능을 사용하는 리눅스 커널 버전
⚔️ 공격 벡터
조작된 네트워크 패킷 또는 데이터 요청을 통해 커널의 메모리 카운트 오류 유도
🛡️ 대응 방법
io_uring/zcrx 관련 패치가 적용된 최신 리눅스 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 보안 패치 버전인지 확인