Une faille de sécurité récemment révélée dans le noyau Linux pourrait être exploitée par un adversaire local pour obtenir des privilèges élevés sur des systèmes vulnérables afin d’exécuter du code arbitraire, d’échapper à des conteneurs ou d’induire un panique du noyau.
Suivi comme CVE-2022-25636 (score CVSS : 7,8), la vulnérabilité affecte les versions 5.4 à 5.6.10 du noyau Linux et résulte d’une écriture hors limites du tas dans le sous-composant netfilter du noyau. Le problème était découvert par Nick Gregory, chercheur scientifique chez Capsule8.
« Cette faille permet à un attaquant local disposant d’un compte utilisateur sur le système d’accéder à la mémoire hors limites, entraînant un plantage du système ou une menace d’élévation des privilèges », Red Hat mentionné dans un avis publié le 22 février 2022. Des alertes similaires ont été publiées par DebianName, OracleLinux, SUSEet Ubuntu.
Netfilter est un cadre fourni par le noyau Linux qui permet diverses opérations liées au réseau, notamment le filtrage de paquets, la traduction d’adresses réseau et la traduction de ports.
Plus précisément, CVE-2022-25636 concerne un problème de gestion incorrecte du framework fonctionnalité de déchargement du matériel qui pourrait être militarisé par un attaquant local pour provoquer un déni de service (DoS) ou éventuellement exécuter du code arbitraire.
« Bien qu’il s’agisse d’un code traitant du déchargement matériel, il est accessible lorsque vous ciblez des périphériques réseau qui n’ont pas de fonctionnalité de déchargement (par exemple, lo) car le bogue est déclenché avant l’échec de la création de la règle. » Grégory mentionné. « De plus, alors que nftables nécessite CAP_NET_ADMIN, nous pouvons annuler le partage dans un nouvel espace de noms réseau pour l’obtenir en tant qu’utilisateur (normalement) non privilégié. »
« Cela peut être transformé en noyau [return-oriented programming]/local escalade des privilèges sans trop de difficulté, car l’une des valeurs écrites hors limites est commodément un pointeur vers une structure net_device », a ajouté Gregory.