Vulnérabilité dans le sous-système netfilter qui permet l'exécution de code au niveau du noyau Linux

Netfilter, un sous-système du noyau Linux utilisé pour filtrer et modifier les paquets réseau, présente une vulnérabilité (CVE-2022-25636) qui permet l'exécution de code au niveau du noyau. Il est annoncé qu'un exemple d'exploit a été préparé qui permet à un utilisateur local d'élever ses privilèges dans Ubuntu 21.10 avec le mécanisme de protection KASLR désactivé. Le problème apparaît à partir du noyau 5.4. Le correctif est toujours disponible sous forme de correctif (aucune version corrective du noyau n'a été générée). Vous pouvez suivre les publications des mises à jour de paquets dans les distributions sur ces pages : Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux.

La vulnérabilité est causée par une erreur dans le calcul de la taille du tableau flow->rule->action.entries dans la fonction nft_fwd_dup_netdev_offload (définie dans le fichier net/netfilter/nf_dup_netdev.c), ce qui peut conduire à ce que des données contrôlées par un attaquant soient écrit dans une zone mémoire au-delà des limites du tampon alloué. L'erreur apparaît lors de la configuration des règles « dup » et « fwd » dans les chaînes pour lesquelles l'accélération matérielle du traitement des paquets (déchargement) est utilisée. Étant donné que le débordement se produit avant de créer une règle de filtrage de paquets et de vérifier la prise en charge du déchargement, la vulnérabilité s'applique également aux périphériques réseau qui ne prennent pas en charge l'accélération matérielle, comme une interface de bouclage.

Il est à noter que le problème est assez simple à exploiter, car les valeurs qui dépassent le tampon peuvent écraser le pointeur vers la structure net_device, et les données sur la valeur écrasée sont renvoyées dans l'espace utilisateur, ce qui permet de connaître les adresses. en mémoire nécessaire pour mener à bien l'attaque. L'exploitation de la vulnérabilité nécessite la création de certaines règles dans nftables, ce qui n'est possible qu'avec les privilèges CAP_NET_ADMIN, qui peuvent être obtenus par un utilisateur non privilégié dans des espaces de noms réseau distincts. La vulnérabilité peut également être utilisée pour attaquer les systèmes d'isolation de conteneurs.

Source: opennet.ru

Ajouter un commentaire