
Preuve de concept d'exploitation pour une déréférence de pointeur NULL dans le noyau Linux dans icmp_tag_validation(), permettant un déni de service à distance via des paquets ICMP spécialement conçus.
Déréférencement de pointeur NULL icmp_tag_validation() dans le noyau Linux (DoS à distance)
icmp_tag_validation() dans net/ipv4/icmp.c déréférence inet_protos[proto]
sans vérification NULL. Un attaquant distant peut envoyer un seul paquet ICMP
Fragmentation Needed forgé avec un numéro de protocole interne non enregistré pour faire planter
le noyau dans le contexte softirq.
Affecté : noyau Linux avant les commits 614aefe56af8 (mainline) / d938dd5a0ad7 (stable 6.12)
sudo python3 poc.py --target <TARGET_IP> # paquet unique, proto 253
sudo python3 poc.py --target <TARGET_IP> --proto 252 # protocole non enregistré alternatif
sudo python3 poc.py --target <TARGET_IP> --count 5 # répétition
net.ipv4.ip_no_pmtu_disc = 3 (non défini par défaut ; requis pour atteindre icmp_tag_validation())Ce projet est publié sous licence GNU GPLv3.
Il est fourni pour la recherche en sécurité défensive, l'éducation et les tests autorisés. N'utilisez pas ce code contre des systèmes ou services sans autorisation explicite du propriétaire.
Toute utilisation non autorisée peut enfreindre la loi applicable. Les auteurs n'accordent pas la permission de tester des systèmes tiers et ne sont pas responsables d'une mauvaise utilisation.
Consultez le fichier LICENSE pour les conditions de garantie et de responsabilité.