
Linux 커널의 icmp_tag_validation()에서 발생하는 NULL 포인터 역참조에 대한 개념 증명 익스플로잇으로, 조작된 ICMP 패킷을 통해 원격 서비스 거부(DoS)를 유발할 수 있습니다.
Linux 커널 icmp_tag_validation() NULL 포인터 역참조 (원격 DoS)
net/ipv4/icmp.c의 icmp_tag_validation()은 NULL 검사 없이 inet_protos[proto]를 역참조합니다. 원격 공격자는 등록되지 않은 내부 프로토콜 번호가 포함된 단일하게 조작된 ICMP Fragmentation Needed 패킷을 전송하여 softirq 컨텍스트에서 커널을 충돌시킬 수 있습니다.
영향: 커밋 614aefe56af8(메인라인) / d938dd5a0ad7(안정 6.12) 이전의 Linux 커널
sudo python3 poc.py --target <TARGET_IP> # 단일 패킷, 프로토콜 253
sudo python3 poc.py --target <TARGET_IP> --proto 252 # 대체 미등록 프로토콜
sudo python3 poc.py --target <TARGET_IP> --count 5 # 반복
net.ipv4.ip_no_pmtu_disc = 3 (비기본값; icmp_tag_validation()에 도달하는 데 필요)이 프로젝트는 GNU GPLv3 라이선스로 배포됩니다.
본 프로젝트는 방어적 보안 연구, 교육 및 승인된 테스트를 위해 제공됩니다. 소유자의 명시적 허가 없이 시스템이나 서비스에 이 코드를 사용하지 마십시오.
무단 사용은 관련 법률을 위반할 수 있습니다. 저자는 제3자 시스템을 테스트할 권한을 부여하지 않으며 오용에 대해 책임을 지지 않습니다.
보증 및 책임 조항은 LICENSE 파일을 참조하십시오.