Une vulnérabilité du noyau Linux permet de contourner l'isolation du sandbox Chrome

Des chercheurs en sécurité de Google ont identifié une vulnérabilité (CVE-2025-38236) dans le noyau Linux permettant une élévation de privilèges. Cette vulnérabilité permet notamment de contourner le mécanisme d'isolation sandbox utilisé dans Google Chrome et d'exécuter du code au niveau du noyau lors de l'exécution de code dans le contexte d'un processus de rendu Chrome isolé (par exemple, lors de l'exploitation d'une autre vulnérabilité dans Chrome). Ce problème apparaît à partir du noyau Linux 6.9 et a été corrigé dans les mises à jour 6.1.143, 6.6.96, 6.12.36 et 6.15.5. Un prototype de l'exploit est disponible en téléchargement.

La vulnérabilité est due à une erreur d'implémentation dans l'indicateur MSG_OOB, qui peut être défini pour les sockets AF_UNIX. L'indicateur MSG_OOB (« hors bande ») permet d'ajouter un octet supplémentaire aux données envoyées, que le récepteur peut lire avant la réception du reste des données. Cet indicateur a été ajouté au noyau Linux 5.15 à la demande d'Oracle et son abandon a été proposé l'année dernière, car il était peu utilisé.

L'implémentation sandbox de Chrome autorisait les opérations de socket UNIX et les appels système send()/recv() où l'indicateur MSG_OOB était autorisé avec d'autres options et n'était pas filtré séparément. Un bug dans l'implémentation MSG_OOB permettait à une condition d'utilisation de mémoire après libération de se produire après l'exécution d'une certaine séquence d'appels système : char dummy; int socks[2]; socketpair(AF_UNIX, SOCK_STREAM, 0, socks); send(socks[1], "A", 1, MSG_OOB); recv(socks[0], &dummy, 1, MSG_OOB); send(socks[1], "A", 1, MSG_OOB); recv(socks[0], &dummy, 1, MSG_OOB); send(socks[1], "A", 1, MSG_OOB); recv(socks[0], &dummy, 1, 0); recv(chaussettes[0], &dummy, 1, MSG_OOB);

Source: opennet.ru

Ajouter un commentaire