Des informations sur la vulnérabilité CVE-2023-6200 ont été révélées. Cette vulnérabilité dans la pile réseau du noyau Linux permet, dans certaines circonstances, à un attaquant depuis le réseau local d'exécuter son code en envoyant un paquet ICMPv6 spécialement conçu contenant un message RA (Router Advertisement), destiné à annoncer des informations sur le routeur.
La vulnĂ©rabilitĂ© ne peut ĂȘtre exploitĂ©e que depuis le rĂ©seau local et se manifeste dans les systĂšmes avec la prise en charge de l'IPv6 activĂ©e et le paramĂštre sysctl « net.ipv6.conf..accept_ra » (peut ĂȘtre vĂ©rifiĂ© avec la commande « sysctl net.ipv6.conf | grep accept_ra »), qui est dĂ©sactivĂ© par dĂ©faut dans RHEL et Ubuntu pour les interfaces rĂ©seau externes, mais activĂ© pour l'interface loopback, permettant ainsi une attaque depuis le mĂȘme systĂšme.
La vulnĂ©rabilitĂ© est causĂ©e par une condition de concurrence lors du traitement par le ramasse-miettes des anciennes entrĂ©es fib6_info, ce qui peut entraĂźner un accĂšs Ă une zone de mĂ©moire dĂ©jĂ libĂ©rĂ©e (use-after-free). Lors de la rĂ©ception d'un paquet ICMPv6 avec un message d'annonce de routeur (RA, Router Advertisement), la pile rĂ©seau appelle la fonction ndisc_router_discovery(). Si le message RA contient des donnĂ©es sur la durĂ©e de vie de la route, cela appelle la fonction fib6_set_expires() et remplit la structure gc_link. Pour nettoyer les anciennes entrĂ©es, la fonction fib6_clean_expires() est utilisĂ©e, qui dĂ©tache l'entrĂ©e dans gc_link et libĂšre la mĂ©moire utilisĂ©e par la structure fib6_info. Ă ce moment-lĂ , il existe une certaine fenĂȘtre oĂč la mĂ©moire pour la structure fib6_info a dĂ©jĂ Ă©tĂ© libĂ©rĂ©e, mais la rĂ©fĂ©rence Ă celle-ci reste dans la structure gc_link.
La vulnĂ©rabilitĂ© se manifeste Ă partir de la branche 6.6 et a Ă©tĂ© corrigĂ©e dans les versions 6.6.9 et 6.7. Le statut de correction de la vulnĂ©rabilitĂ© dans les distributions peut ĂȘtre Ă©valuĂ© sur ces pages : Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Parmi les distributions qui livrent des paquets contenant le noyau 6.6, on peut citer Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva et Manjaro, tandis que dans les autres distributions, il n'est pas exclu que des corrections erronĂ©es soient rĂ©troportĂ©es dans des paquets avec des branches de noyau plus anciennes (par exemple, dans Debian, il est mentionnĂ© que le paquet avec le noyau 6.5.13 est vulnĂ©rable, alors que le changement problĂ©matique est apparu dans la branche 6.6). Comme solution de contournement, il est possible de dĂ©sactiver l'IPv6 ou d'attribuer la valeur 0 aux paramĂštres « net.ipv6.conf.*.accept_ra ».
Source : opennet.ru
