Certains problèmes de sécurité ne proviennent pas d'erreurs de programmation, mais simplement du fait que certains composants se comportent différemment de ce à quoi ils sont réellement destinés. Cela affecte actuellement l'une des bibliothèques réseau les plus importantes. Un groupe de chercheurs en sécurité a conjointement attiré l'attention sur le problème de la bibliothèque de masques de réseau. Il est peu probable que cela soit familier à un utilisateur normal. Cependant, il est intégré en tant que composant externe dans un grand nombre d'applications qui communiquent via des réseaux. Sur la seule plate-forme de développement GitHub, 278 000 projets dépendent de la bibliothèque. Bien que ce soit une norme pour le traitement des adresses IPv4 depuis longtemps, il ne fait pas correctement son travail en termes de spécifications. Et cela peut entraîner des problèmes liés à la sécurité. Par conséquent, toute l'affaire a été enregistrée sous l'ID CVE-2021-28918 dans les bases de données de vulnérabilités, comme indiqué par BleepingComputer. Les adresses IPv4 ne peuvent en aucun cas être écrites uniquement dans la représentation décimale. La plupart des utilisateurs, par exemple, connaissent 127.0.0.1, qui fait toujours référence au système local. Dans les spécifications IPV4, cependant, il est également prévu que d'autres systèmes de numérotation peuvent également être utilisés. En conséquence, un zéro non significatif signifie que 0127.0.0.1 est considéré comme une notation octale - traduit dans le système décimal, ce serait l'adresse IP 87.0.0.1.
Cependant, la bibliothèque de masques de réseau ignore la spécification dans les spécifications - ce qui n'a jusqu'à présent pas été remarqué car il n'y a probablement simplement personne qui utilise des systèmes numériques autres que décimal pour les adresses IP. Si vous laissez l'analyse de l'adresse au masque de réseau, le zéro non significatif est simplement ignoré. Et c'est exactement ce qui peut entraîner des problèmes considérables en conjonction avec d'autres composants logiciels qui gèrent correctement les adresses. Dans le cas le plus simple, un logiciel d'analyse des risques sur netmask demande le formatage IP correct et reçoit le 127.0.0.1 renvoyé. Puisqu'il s'agit du système local, il n'y aurait aucun souci de chargement et d'exécution de code à partir d'ici. Cependant, si le programme testé fonctionne ensuite avec des composants qui fonctionnent selon les spécifications, le code serait chargé à partir d'une adresse IP externe pouvant appartenir à un attaquant malveillant. Une version corrigée du masque de réseau a déjà été fournie par les développeurs, mais son intégration dans tous les projets logiciels basés sur celle-ci peut prendre du temps.
Cependant, la bibliothèque de masques de réseau ignore la spécification dans les spécifications - ce qui n'a jusqu'à présent pas été remarqué car il n'y a probablement simplement personne qui utilise des systèmes numériques autres que décimal pour les adresses IP. Si vous laissez l'analyse de l'adresse au masque de réseau, le zéro non significatif est simplement ignoré. Et c'est exactement ce qui peut entraîner des problèmes considérables en conjonction avec d'autres composants logiciels qui gèrent correctement les adresses. Dans le cas le plus simple, un logiciel d'analyse des risques sur netmask demande le formatage IP correct et reçoit le 127.0.0.1 renvoyé. Puisqu'il s'agit du système local, il n'y aurait aucun souci de chargement et d'exécution de code à partir d'ici. Cependant, si le programme testé fonctionne ensuite avec des composants qui fonctionnent selon les spécifications, le code serait chargé à partir d'une adresse IP externe pouvant appartenir à un attaquant malveillant. Une version corrigée du masque de réseau a déjà été fournie par les développeurs, mais son intégration dans tous les projets logiciels basés sur celle-ci peut prendre du temps.
Plus d'actualités dans cette catégorie