🇰🇷 한글 설명
Linux 커널 4.10.1 이전의 ip_cmsg_recv_checksum 함수에서 skb 데이터 레이아웃을 잘못 처리하여, 로컬 사용자가 MSG_MORE 플래그와 루프백 UDP 전송을 이용해 버퍼 오버리드를 유발할 수 있습니다. 이를 통해 서비스 거부(DoS) 또는 기타 영향을 미칠 수 있습니다.
💡 쉬운 설명
Linux 시스템의 네트워크 통신 코드에 결함이 있어 특정한 방식으로 데이터를 보내면 시스템이 중단될 수 있습니다. 같은 컴퓨터에 접속할 수 있는 사용자만 공격할 수 있습니다.
🇺🇸 원문 (English)
The ip_cmsg_recv_checksum function in net/ipv4/ip_sockglue.c in the Linux kernel before 4.10.1 has incorrect expectations about skb data layout, which allows local users to cause a denial of service (buffer over-read) or possibly have unspecified other impact via crafted system calls, as demonstrated by use of the MSG_MORE flag in conjunction with loopback UDP transmission.
📍 영향받는 시스템
Linux kernel 4.10.0 이하 (4.10.1부터 패치됨)
⚔️ 공격 벡터
로컬 사용자가 MSG_MORE 플래그가 설정된 루프백 UDP 패킷을 조작하여 발생
🛡️ 대응 방법
Linux 커널을 4.10.1 이상으로 업데이트
🔧 검증 코드
kernel 버전이 4.10.1 미만이면 'VULNERABLE' 출력, 4.10.1 이상이면 'PATCHED' 출력
uname -r | awk -F. '{major=$1; minor=$2; patch=$3; gsub(/[^0-9]/, "", major); gsub(/[^0-9]/, "", minor); gsub(/[^0-9]/, "", patch); if (major*1000000+minor*1000+patch < 4010001) print "VULNERABLE"; else print "PATCHED"}'