Aller au contenu

CVE-2026-87491 : écriture hors limites et RCE dans le moteur V8 de Google Chromium

HTS

HERMES THREAT SCORE ET EXPLOITABILITÉ OPÉRATIONNELLE

Cible : Google Chrome et moteur V8 Chromium (Windows, macOS, Linux, Android)
Confiance : 97%
94 / 100
CRITIQUE

Mesure la pertinence opérationnelle réelle, la militarisation de l'exploit et la posture de menace active.

Décomposition des dimensions
Exploitabilité 19 / 20
Activité de menace 20 / 20
Militarisation 19 / 20
Exposition 18 / 20
Prévalence 18 / 20
Impact 18 / 20
Maturité de l'exploit 20 / 20
Potentiel d'attaque en chaîne 18 / 20
⚖️ Divergence & Justification opérationnelle

Bien que l'éditeur ait classé cette vulnérabilité en sévérité moyenne en raison du bac à sable du moteur de rendu, Hermes rehausse la CVE-2026-87491 à 94 (CRITIQUE). La CISA a inscrit ce zero-day au catalogue KEV le 9 septembre 2026, confirmant une exploitation ciblée en conditions réelles. De plus, les agents IA autonomes et chaînes de développement déploient massivement des instances headless de Chromium pour naviguer sur le web, transformant une corruption mémoire cliente en vecteur immédiat de piratage d'agent.

HASS

HERMES AGENTIC SECURITY SCORE

Cible : Moteur Chromium V8 et automatisation de navigation pour agents IA
Confiance : 94%
86 / 100
ÉLEVÉ

Mesure le risque systémique spécifique découlant de l'autonomie, de l'autorité des outils et de l'exécution en cascade.

Décomposition des dimensions
Autonomie décisionnelle 17 / 20
Accès aux outils & APIs 19 / 20
Privilege 13 / 15
Persistence 12 / 15
External Impact 13 / 15
Propagation 12 / 15
⚖️ Divergence & Justification opérationnelle

Les agents autonomes équipés d'outils de navigation (Playwright, Puppeteer, browser-use) consultent des ressources web externes non fiables sans supervision humaine. L'exploitation de la CVE-2026-87491 permet à des pages malveillantes de compromettre le moteur du navigateur, de voler les jetons de session actifs et d'exécuter des commandes arbitraires sur les outils hôtes connectés.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-87491: Google Chromium V8 Out-of-Bounds Write Zero-Day to Sandbox RCEVULNÉRABILITÉ

Nœuds connectés : 3
Relations sortantes actives
→ affectsCOMPOSANTGoogle Chromium / V8 Engine
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Confirmed security vulnerability in Google Chromium / V8 Engine documented in Hermes dossier.”

Preuves vérifiées associées :
→ exploitsMODÈLE D'ATTAQUEAAP-007: Autonomous Cascading RCE
92% VERY_HIGH

Cascading multi-stage attack chaining context injection, autonomous loop planning, and un-sandboxed execution sinks to achieve persistent root shell compromise on host machines.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“CVE-2026-87491 weaponizes the agentic attack pattern formalized under AAP-007.”

Preuves vérifiées associées :
→ exploitsMODÈLE D'ATTAQUEAAP-002: Indirect Context Injection
92% VERY_HIGH

Adversary embeds covert payload instructions into retrieved external data (web pages, repositories, emails) that subvert model planning when parsed by autonomous agents.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“CVE-2026-87491 weaponizes the agentic attack pattern formalized under AAP-002.”

Preuves vérifiées associées :

ParamètreSpécification techniqueImpact opérationnel
Identifiant CVECVE-2026-87491Identifiant mondial de la faille
Chercheur déclarantJihyeon Jeong (Compsec Lab, Université nationale de Séoul)Prime de sécurité attribuée (2 500 $)
Score CVSS v3.18.8 (Élevé)CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Score FIRST EPSS0,29 % (21,44ᵉ percentile)Progression rapide post-inscription KEV
Statut CISA KEVAjoutée le 9 septembre 2026Directive fédérale contraignante BOD 26-04
Composant vulnérableMoteur JavaScript et WebAssembly Google Chromium V8Gestion de la mémoire / backing store ArrayBuffer
Vecteur d’attaqueRéseau distant (page web piégée / automatisation d’agent)Navigation vers une URL malveillante
Écosystème impactéGoogle Chrome, Edge, Brave, Opera, Electron, Node.jsOmniprésence sur les postes et serveurs

La vulnérabilité affecte l’ensemble des versions de Chromium antérieures à la version 153.0.8010.36 :

  • Google Chrome (Windows et Linux) : corrigé dans la version 153.0.8010.36 et ultérieure ;
  • Google Chrome (macOS) : corrigé dans la version 153.0.8010.37 et ultérieure ;
  • Navigateurs basés sur Chromium (Edge, brave, opera) : requièrent l’application des correctifs de la branche Chromium 153 ;
  • Environnements electron et Node.js : les applications intégrant des versions vulnérables de V8 doivent être recompilées avec le moteur mis à jour.

La faille est classifiée sous CWE-787 (écriture hors limites) dans l’agencement mémoire et la logique d’indexation des tampons de tableaux du moteur JavaScript V8.

Chaîne d'exploitation de l'écriture hors limites CVE-2026-87491 dans V8 :
┌─────────────────────────────────────────────────────────────┐
│ 1. Navigateur victime ou agent IA autonome │
└──────────────────────────────┬──────────────────────────────┘
│ Navigation vers la page web piégée
▼
┌─────────────────────────────────────────────────────────────┐
│ 2. Exécution du code malveillant HTML / JavaScript dans V8 │
│ • Allocation d'une mémoire WebAssembly ou TypedArray │
│ • Déclenchement d'un contournement d'analyse de bornes │
└──────────────────────────────┬──────────────────────────────┘
│ Écriture hors limites au-delà du tampon
▼
┌─────────────────────────────────────────────────────────────┐
│ 3. Corruption du tas isolé de V8 (V8 Isolate Heap) │
│ • Écrasement de la longueur d'un ArrayBuffer adjacent │
│ • Construction de primitives de lecture/écriture totale │
└──────────────────────────────┬──────────────────────────────┘
│ Exécution de code dans le moteur de rendu
▼
┌─────────────────────────────────────────────────────────────┐
│ 4. Prise de contrôle du bac à sable et rebond hôte │
│ • Exécution de code shellcode dans le bac à sable Chrome │
│ • Dans les flux d'agents : vol de clés API et outils hôtes│
└─────────────────────────────────────────────────────────────┘

Dans l’architecture moderne de V8, les allocations de mémoire des TypedArrays et des instances WebAssembly sont cloisonnées dans la cage de mémoire virtuelle (bac à sable V8). Lors des phases d’optimisation de suppression des contrôles de limites (bounds check elimination) dans le pipeline de compilation JIT, le compilateur effectue une analyse d’intervalle pour garantir que les écritures indexées restent confinées au tampon mémoire alloué.

Dans les versions affectées, une anomalie de calcul permet à une valeur contrôlée par l’attaquant de tromper l’analyseur de limites. Une écriture hors limites transfère des séquences d’octets arbitraires au-delà du tampon alloué, directement dans les structures de données adjacentes du tas.

Obtention des primitives de lecture/écriture arbitraires

Section intitulée « Obtention des primitives de lecture/écriture arbitraires »
  1. Écrasement du backing store : l’écriture hors limites écrase les champs byte_length et le pointeur backing_store d’un objet ArrayBuffer adjacent sur le tas.
  2. Primitive de lecture/écriture totale : en étendant la taille apparente de l’objet adjacent à 0xFFFFFFFF (4 Go) ou en redirigeant son pointeur de stockage vers des adresses mémoire arbitraires, l’attaquant construit des primitives read64() et write64() déterministes.
  3. Exécution du shellcode : l’attaquant écrase le code machine JIT d’une fonction WebAssembly ou une table de pointeurs de fonctions pour dérouter le flux d’instructions vers sa charge utile au sein du processus de rendu.

3. Militarisation de la menace et scénarios d’attaque pour les agents IA

Section intitulée « 3. Militarisation de la menace et scénarios d’attaque pour les agents IA »

Les cyberattaquants exploitent la CVE-2026-87491 à travers des attaques de type point d’eau (watering hole) et des campagnes d’hameçonnage ciblé invitant les collaborateurs à cliquer sur des liens malveillants. Dans les opérations d’espionnage avancées, cette primitive d’exécution de code au sein du moteur de rendu est chaînée à un zero-day d’évasion de bac à sable (ciblant le noyau Windows ou le processus courtier de Chrome) pour compromettre le système hôte.

La surface d’exposition des agents autonomes (HASS 86)

Section intitulée « La surface d’exposition des agents autonomes (HASS 86) »

Les architectures d’agents IA modernes utilisent fréquemment des navigateurs sans interface graphique (headless) (comme Playwright ou Puppeteer) pour :

  • Conduire des recherches documentaires autonomes ;
  • Valider des demandes d’assistance utilisateur ;
  • Interagir avec des applications SaaS tierces.

Lorsqu’un agent autonome consulte une ressource web contrôlée par un pirate au cours de sa boucle d’exécution :

  1. Piratage d’hôte sans interaction : l’outil de navigation déclenche la faille CVE-2026-87491 sans aucune validation humaine (zero-touch).
  2. Pillage de jetons et de contexte : l’attaquant accède au contexte de session du navigateur, dérobant les jetons OAuth, cookies de session et clés API stockés.
  3. Compromission en cascade : les navigateurs headless étant fréquemment lancés dans des conteneurs d’agents avec l’option --no-sandbox (pour simplifier l’exécution dans Docker), la RCE sur le moteur de rendu se traduit instantanément par la compromission du conteneur hôte, illustrant les risques documentés dans le modèle AAP-007 : RCE autonome en cascade.

4. Triage forensique et indicateurs de compromission (IoC)

Section intitulée « 4. Triage forensique et indicateurs de compromission (IoC) »

L’analyse de systèmes suspectés d’avoir rencontré l’exploitation de la CVE-2026-87491 repose sur l’audit des fichiers de plantage et des processus enfants :

Fenêtre de terminal
# 1. Examiner les vidages mémoire générés par Crashpad sur Linux / macOS
ls -la ~/.config/google-chrome/Crashpad/reports/
minidump_stackwalk ~/.config/google-chrome/Crashpad/reports/*.dmp
# 2. Détecter les processus enfants anormaux engendrés par le navigateur (Linux)
ps -ef | grep -E "(chrome|chromium|electron)" | grep -v "type="
# 3. Vérifier la présence de drapeaux d'exécution dangereux dans les agents
grep -rn "no-sandbox" /etc/docker/ /var/lib/docker/ /home/

Traces d'exécution et de processus

  • Plantages répétés du moteur de rendu de Chrome signalant des exceptions d’accès mémoire non gérées (STATUS_ACCESS_VIOLATION 0xC0000005 sous Windows ou SIGSEGV sous Linux).
  • Processus chrome.exe, msedge.exe ou moteurs headless engendrant des shells interactifs (cmd.exe, powershell.exe, /bin/sh, /bin/bash).

Indicateurs de fichiers et mémoire

  • Fichiers de vidage .dmp créés de manière concomitante à des activités de navigation web.
  • Création inattendue de scripts ou exécutables dans les répertoires temporaires (%TEMP%, /tmp/).
  • Flux réseau sortants massifs émis depuis les processus de rendu vers des adresses IP distantes non répertoriées.

proc_creation_chrome_suspicious_child_process.yml
title: Processus enfant suspect engendré par Chrome ou Chromium
id: 3e8291a4-9214-41d9-8174-bc41f92e1058
status: stable
description: Détecte des shells interactifs ou binaires de script lancés directement par Google Chrome ou un navigateur Chromium, révélant une évasion de bac à sable ou une exploitation du moteur de rendu.
references:
- https://chromereleases.googleblog.com/2026/09/stable-channel-update-for-desktop.html
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog
author: Hermes Codex Threat Intelligence
date: 2026-09-09
tags:
- attack.execution
- attack.t1203
- attack.t1059
- cve.2026-87491
logsource:
category: process_creation
product: windows
detection:
selection:
ParentImage|endswith:
- '\chrome.exe'
- '\msedge.exe'
- '\brave.exe'
- '\opera.exe'
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\pwsh.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\rundll32.exe'
condition: selection
falsepositives:
- Outils d'automatisation de développement lançant explicitement des scripts système.
level: critical

  1. Déployer la version stable Chrome 153 : Mettez à jour Google Chrome sur l’ensemble du parc :

    • Linux et Windows : passer à la version 153.0.8010.36 ou ultérieure ;
    • macOS : passer à la version 153.0.8010.37 ou ultérieure.
  2. Mettre à jour les navigateurs dérivés et applications electron : Assurez-vous que Microsoft Edge, Brave, Opera ainsi que les outils de développement (Cursor, VS Code, Slack) intègrent la version patchée de Chromium 153.

  3. Durcir la configuration des outils de navigation pour agents IA : Auditez les paramètres d’instanciation des navigateurs automatisés :

    • Interdire --no-sandbox : ne jamais exécuter Chrome sans bac à sable dans les environnements de production ;
    • Isolation par conteneur : exécuter les conteneurs de navigation dans des espaces de noms Linux non privilégiés éphémères avec système de fichiers en lecture seule et suppression du privilège CAP_SYS_ADMIN ;
    • Filtrage des flux sortants : filtrer les requêtes des agents via un proxy pour restreindre la consultation de domaines récemment enregistrés (NRD).
  4. Auditer l’historique d’exécution des agents : Examinez les journaux d’agents pour déceler d’éventuelles sessions de navigation terminées par des erreurs de violation d’accès mémoire inattendues.