Deux vulnérabilités ont été détectées dans le noyau Linux qui permettaient toujours aux utilisateurs d'élever leurs privilèges 

vulnérabilité

Si elles sont exploitées, ces failles peuvent permettre aux attaquants d'obtenir un accès non autorisé à des informations sensibles ou de causer des problèmes en général.

Il y a quelques jours, la nouvelle a éclaté que Deux vulnérabilités ont été détectées dans les sous-systèmes de noyau Linux, Netfilter et io_uring, qui permettent à un utilisateur local d'élever ses privilèges sur le système.

Le premier est la vulnérabilité. (CVE-2023-32233) qui a été détecté dans le sous-système Netfilter et causé par l'accès mémoire use-after-free dans le module nf_tables, qui assure le fonctionnement du filtre de paquets nftables.

Ce bogue est dû au fait que netfilter nf_tables permet de mettre à jour sa configuration pour les requêtes par lots qui regroupent plusieurs opérations de base dans les transactions atomiques.

Le problème a été reproduit dans diverses versions du noyau Linux, y compris Linux 6.3.1 (actuellement stable) et la vulnérabilité peut être exploitée en envoyant des requêtes spécialement conçues pour mettre à jour la configuration de nftables. Il est mentionné que l'attaque nécessite l'accès à nftables, qui peut être obtenu dans un espace de noms réseau séparé si vous disposez des droits CLONE_NEWUSER, CLONE_NEWNS ou CLONE_NEWNET (par exemple, si vous pouvez exécuter un conteneur isolé).

Sur ce bogue, le chercheur qui a identifié le problème a promis de reporter d'une semaine la publication d'informations détaillées et d'un exemple d'exploit fonctionnel qui fournit un shell root.

Dans un scénario spécifique, une demande par lot non valide peut contenir une opération qui supprime implicitement un ensemble anonyme nft existant, suivie d'une autre opération qui tente d'agir sur le même ensemble nft anonyme après sa suppression. Dans le scénario ci-dessus, un exemple de l'opération ci-dessus consiste à supprimer une règle nft existante qui utilise un ensemble anonyme nft. Et un exemple de cette dernière opération est une tentative de suppression d'un élément de ce tableau anonyme nft après la suppression alternative du tableau, cette dernière opération peut même tenter de supprimer à nouveau explicitement ce tableau anonyme nft. 

Comme déjà mentionné au début, c'était il y a plusieurs jours et l'exploit et l'information ont déjà été divulgués. L'exploit ainsi que ses détails se trouvent au lien suivant.

Le deuxième défaut détecté, était la vulnérabilité (CVE-2023-2598) dans la mise en œuvre de l'interface d'E/S asynchrone io_urant inclus dans le noyau Linux depuis la version 5.1.

Le problème est causé par un bogue dans la fonction io_sqe_buffer_register, qui permet d'accéder à la mémoire physique en dehors des limites d'un tampon alloué statiquement. Le problème apparaît uniquement dans la branche 6.3 et sera corrigé dans la prochaine mise à jour 6.3.2.

Il est mentionné que l'idée derrière le commit d'origine est qu'au lieu de diviser de grandes pages mises en mémoire tampon en entrées bvec individuelles, vous pouvez avoir une seule entrée bvec pour toutes les parties mises en mémoire tampon de la page. Plus précisément, si toutes les pages de la carte de tampon utilisent la première structure de page et la longueur de tampon dans une seule entrée bvec au lieu de mapper chaque page individuellement.

Ainsi, bvec s'étendra bien au-delà de la seule page qu'il est réellement autorisé à toucher. Plus tard, IORING_OP_READ_FIXED et IORING_OP_WRITE_FIXED nous permettent de lire et d'écrire dans le tampon (c'est-à-dire la mémoire pointée par le bvec) à volonté. Cela permet un accès en lecture/écriture à la mémoire physique derrière la seule page que nous avons réellement.

La publication de vulnérabilité mentionne les étapes de reproduction d'erreur :

1. Créer un memfd
2. Erreur sur une seule page dans ce descripteur de fichier
3. Utilisez MAP_FIXED pour mapper cette page à plusieurs reprises, à des emplacements consécutifs
4. Enregistrez la région entière que vous venez de remplir avec cette page comme
un tampon fixe avec IORING_REGISTER_BUFFERS
5. Utilisez IORING_OP_WRITE_FIXED pour écrire le tampon dans un autre fichier
(lecture OOB) ou IORING_OP_READ_FIXED pour lire les données dans le tampon (
écriture OOB).

Enfin, il convient de mentionner que est déjà disponible  un prototype d'exploit fonctionnel (CVE-2023-2598) pour les tests, vous permettant d'exécuter du code avec les privilèges du noyau.

Vulnérabilité (CVE-2023-32233) Il a été corrigé dans la mise à jour 6.4-rc et vous pouvez suivre le correctif de vulnérabilité dans les distributions sur les pages : DebianUbuntuGentooRHELFedoraSUSE / openSUSEvoûte.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.