Source: GitHub (dépôt jofpin/brash). Contexte: publication d’un PoC opérationnel décrivant une faille de conception dans le moteur Blink des navigateurs Chromium. La vulnérabilité (« Brash ») abuse l’absence de rate limiting sur l’API document.title, permettant des millions de mutations DOM par seconde, saturant le thread principal, bloquant l’UI et provoquant un DoS. Statut: Operational. Versions affectées annoncées: Chromium ≤ 143.0.7483.0 (testées: 138.0.7204.251, 141.0.7390.108, 143.0.7483.0). Impact: consommation CPU élevée, dégradation système, jusqu’au crash du navigateur; population exposée: « plus de 3 milliards » d’utilisateurs.
Produits concernés et non concernés:
- Vulnérables (Chromium/Blink): Chrome (15–30 s), Edge (15–25 s), Vivaldi (15–30 s), Arc Browser (15–30 s), Dia Browser (15–30 s), Opera (~60 s), Perplexity Comet (15–35 s), ChatGPT Atlas (15–60 s), Brave (30–125 s).
- Non vulnérables (autres moteurs): Firefox (Gecko), Safari (WebKit) et tous les navigateurs iOS (WebKit imposé).
Fonctionnement de l’exploit (3 phases) ⚙️:
- Préparation (Hash Generation): génération et préchargement en mémoire de 100 chaînes hexadécimales de 512 caractères pour éviter le coût CPU et le GC pendant l’attaque.
- Injection par rafales (Burst Injection): mises à jour de titre en rafales (ex. par défaut: burst 8000, interval 1 ms) avec un motif de triple mise à jour pour « thrash » le pipeline de rendu, visant ~24 M MAJ/s lors de la tentative.
- Saturation du thread UI (Collapse): blocage de la boucle d’événements, gel des onglets et crash. Chronologie indicative: 0–5 s saturation initiale CPU; 5–10 s onglet figé; 10–15 s boîte « Page Unresponsive »; 15–60 s terminaison forcée.
Démo et PoC 🧪:
- Live demo: https://brash.run (version « hidden » sans interface: /hidden-live-demo.html).
- Local demo: répertoire exploit-demo avec contrôles d’intensité (modéré/agressif/extrême), compteur d’updates/sec, observation de la dégradation.
- Intégration PoC: script brash.js local ou via CDN; paramètres clés: burstSize, interval, delay (ms/s/min), scheduled (ISO/Date). Profils d’intensité annoncés: modéré (~600 MAJ/s), agressif (~60 000 MAJ/s), extrême (tentative ~24 M MAJ/s, effondrement rapide).
Scénarios d’attaque et artefacts:
- Timing différé et planifié: exécution avec delay (bombes logiques temporisées) ou scheduled (synchronisation précise) pour maximiser l’impact opérationnel.
- AI agent poisoning: effondrement de navigateurs headless (Chromium/Puppeteer) utilisés pour scraping/monitoring, entraînant arrêts de pipelines et pertes économiques.
- Disruption critique: exemples évoqués (blocage d’outils chirurgicaux web, « flash crash » boursier à l’ouverture, fraude bancaire pendant pics d’activité).
- IOCs (liés au PoC): domaine brash.run, dépôt https://github.com/jofpin/brash, CDN https://cdn.jsdelivr.net/gh/jofpin/brash/brash.js.
- TTPs: Abus d’API DOM (document.title) pour DoS applicatif, surcharge du thread principal/UI, exécution différée/programmée, ciblage de navigateurs headless. Il s’agit d’une publication de PoC démontrant l’impact d’une vulnérabilité de conception dans Blink.
🔗 Source originale : https://github.com/jofpin/brash