🇰🇷 한글 설명
리눅스 커널의 inet 서브시스템에서 IPPROTO_RAW 프로토콜을 사용하는 RAW 소켓이 악의적인 ICMP 패킷을 처리하여 FNHE 캐시를 변경할 수 있는 취약점입니다. 공격자가 프로토콜 필드를 255로 설정한 ICMP 패킷을 보내면 RAW 소켓이 이를 수신하게 되어 시스템 보안에 영향을 줄 수 있습니다.
💡 쉬운 설명
해커가 특수하게 조작된 네트워크 신호를 보내 컴퓨터의 네트워크 정보 저장소(캐시)를 마음대로 조작할 수 있는 문제입니다. 이로 인해 네트워크 연결이 방해받거나 잘못된 경로로 데이터가 전송될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
inet: RAW sockets using IPPROTO_RAW MUST drop incoming ICMP
Yizhou Zhao reported that simply having one RAW socket on protocol
IPPROTO_RAW (255) was dangerous.
socket(AF_INET, SOCK_RAW, 255);
A malicious incoming ICMP packet can set the protocol field to 255
and match this socket, leading to FNHE cache changes.
inner = IP(src="192.168.2.1", dst="8.8.8.8", proto=255)/Raw("TEST")
pkt = IP(src="192.168.1.1", dst="192.168.2.1")/ICMP(type=3, code=4, nexthopmtu=576)/inner
"man 7 raw" states:
A protocol of IPPROTO_RAW implies enabled IP_HDRINCL and is able
to send any IP protocol that is specified in the passed header.
Receiving of all IP protocols via IPPROTO_RAW is not possible
using raw sockets.
Make sure we drop these malicious packets.
📍 영향받는 시스템
IPPROTO_RAW 소켓을 사용하는 리눅스 커널 기반 시스템
⚔️ 공격 벡터
프로토콜 필드가 255로 설정된 악의적인 ICMP 패킷을 전송하여 RAW 소켓의 FNHE 캐시를 조작
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 IPPROTO_RAW 소켓에서 ICMP 패킷을 드롭하도록 설정
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인