Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/sneakynachos/cve-2026-74936-gc-potato
Analyse des VulnérabilitésExploitationAnalyse de BinairesArticles et Recherche
GitHubsneakynachos/cve-2026-74936-gc-potato

CVE-2026-74936-gc-potato

Reproduction d'une vulnérabilité use-after-free WebAssembly dans le moteur JavaScript de Mozilla, démontrant une condition de course déterministe et fournissant une preuve de concept contrôlée.

Voir le dépôt
il y a 20h 13mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-74936

Une reproduction sans fioritures. La base de départ a nécessité quelques ajustements.

Mozilla décrit ce problème comme un use-after-free dans WebAssembly. Le correctif public 9823b5c86ffa maintient en vie le wasm::Code qui piège exactement dans JitActivation.

Le test effectue un appel final croisé entre instances avec une signature invalide. Un hook de déroulement de pile du Debugger efface la dernière référence de cible de la table et force un GC de rétrécissement pendant que le moteur gère le piège. Avant d'entrer dans l'appel final, Wasm invoque un import JavaScript normal qui imprime le marqueur.

Résultats

  • Parent pré-correctif 9b564f641a42 : statut 139 (SIGSEGV).
  • Correctif appliqué 9823b5c86ffa : imprime PASS: trap handled after target release et se termine avec le code 0.

Piste Contrôlée

poc-controlled.js étend l'allocation de stub partagé de la cible avec 144 imports. Sa continuation de throw obsolète atterrit dans l'une des quatre pages exécutables. Un porteur de tiering paresseux pré-créé embarque 6 000 constantes SIMD uniques dans un segment de code optimisé de quatre pages. Pendant le déroulement d'exception, le GC libère la cible et le tiering synchrone réutilise ce trou. Une piste d'appels système tous les 64 octets imprime UAF NACHOS et invoque exit_group(0).

Exécution :

root@kitploit:~
js --wasm-compiler=baseline+ion \
  --setpref=wasm_lazy_tiering_level=9 \
  --setpref=wasm_lazy_tiering_synchronous=true \
  --more-compartments poc-controlled.js

Fiabilité observée sur le shell pré-correctif Linux x86-64 compilé depuis les sources : 3/3 exécutions ont imprimé le marqueur et se sont terminées avec le code 0. Le shell corrigé correspondant lève l'erreur RuntimeError: indirect call signature mismatch normale et ne l'imprime pas.

Le PoC contrôlé utilise des fonctions Debugger et GC propres au shell pour rendre la course déterministe. Il établit un contrôle natif dans jsshell, et non une livraison depuis une page web ou une évasion du sandbox de contenu Firefox.

Exécution avec un shell de débogage équivalent :

root@kitploit:~
js --wasm-compiler=baseline --more-compartments poc.js

Il s'agit d'une preuve de régression de durée de vie, et non d'une primitive mémoire ou d'un exploit. Le marqueur apparaît sur les deux builds et ne résulte pas du UAF.

Télécharger l’outil