🇰🇷 한글 설명
Linux 커널의 rxrpc 프로토콜에서 SACK(Selective ACK) 테이블을 파싱할 때 발생하는 취약점입니다. 파편화된 UDP 패킷을 처리하는 과정에서 skb_condense() 함수가 실패할 경우 버퍼에 잘못된 접근을 하여 메모리 오류를 유발할 수 있습니다.
💡 쉬운 설명
네트워크 데이터를 처리하는 과정에서 데이터가 쪼개져 있을 때 이를 합치는 과정이 제대로 작동하지 않아 발생하는 문제입니다. 공격자가 특수하게 조작된 데이터를 보내면 시스템이 오작동하거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
rxrpc: Fix the ACK parser to extract the SACK table for parsing
Fix modification of the received skbuff in rxrpc_input_soft_acks() and a
potential incorrect access of the buffer in a fragmented UDP packet (the
packet would probably have to be deliberately pre-generated as fragmented)
when AF_RXRPC tries to extract the contents of the SACK table by copying
out the contents of the SACK table into a buffer before attempting to parse
AF_RXRPC assumes that it can just call skb_condense() and then validly
access the SACK table from skb->data and that it will be a flat buffer -
but skb_condense() can silently fail to do anything under some
circumstances.
Note that whilst rxrpc_input_soft_acks() should be able to parse extended
ACKs, the rest of AF_RXRPC doesn't currently support that.
Further, there's then no need to call skb_condense() in rxrpc_input_ack(),
so don't.
📍 영향받는 시스템
Linux Kernel (AF_RXRPC 프로토콜을 사용하는 시스템)
⚔️ 공격 벡터
조작된 파편화 UDP 패킷을 전송하여 rxrpc의 SACK 테이블 파싱 로직을 트리거함
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 취약점이 해결된 최신 버전인지 확인합니다.