Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-9999-exploit — Proof-of-concept e fuzzer GLSL per CVE-2026-9999 nel backend WebGL ANGLE/Metal di Chrome, con fingerprinting delle build, shader selezionati e acquisizione degli artefatti di crash. | Kitploit
Strumenti/GitHubGitHub/josephfarah-ciso/cve-2026-9999-exploit
Analisi delle VulnerabilitàExploitSicurezza WebFuzzing
GitHubjosephfarah-ciso/cve-2026-9999-exploit

CVE-2026-9999-exploit

Proof-of-concept e fuzzer GLSL per CVE-2026-9999 nel backend WebGL ANGLE/Metal di Chrome, con fingerprinting delle build, shader selezionati e acquisizione degli artefatti di crash.

Vedi Repository
111 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-9999 — Harness di caccia ai PoC per WebGL ANGLE/Metal di Chrome (macOS)


1. Riepilogo della vulnerabilità

CampoValore
CVECVE-2026-9999
Vendor / prodottoGoogle Chrome
InteressateChrome < 148.0.7778.216, solo macOS [1]
Corretta in148.0.7778.216 [1]
ImpattoEsecuzione di codice arbitrario all'interno di una sandbox tramite una pagina HTML appositamente predisposta [1]
Gravità ChromiumAlta [1]
CVSS 3.1 (CISA-ADP)8.8 ALTA — CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H [1]
Valutazione CVSS NVD (NIST)Non ancora fornita [1]
CWECWE-269 — Gestione impropria dei privilegi (arricchimento da parte di CISA-ADP) [1]
CISA SSVC (2026-05-29)exploitation: none, automatable: no, technicalImpact: total [1]
Pubblicata / ultima modifica2026-05-28 / 2026-07-21 [1]
Causa principaleNon pubblica — l'issue Chromium 513364480 mostra "Permissions Required" [1]

Implicazione per la catena di attacco: l'esecuzione di codice "all'interno di una sandbox" [1] significa che un attaccante ottiene il controllo di un processo in sandbox (molto probabilmente il processo GPU). Un takeover completo del browser richiederebbe inoltre una separata fuga dalla sandbox che non fa parte di questa CVE.


2. Strategia e ipotesi (valutazione personale dell'analista — da considerare non confermata)

Quanto segue è un'inferenza basata su documenti pubblici, non fatti confermati:

  • ANGLE è il motore che Chrome usa per tradurre il GLSL di WebGL nelle API grafiche della piattaforma — su macOS, in Metal. Una "pagina HTML appositamente predisposta" [1] che raggiunge ANGLE significa quasi certamente contenuto WebGL — cioè shader controllati dall'attaccante e/o stato WebGL gestito dal backend Metal.
  • CWE-269 (Gestione impropria dei privilegi) [1] combinata con un impatto contenuto nella sandbox suggerisce che il livello ANGLE/GPU non riesca a limitare correttamente qualcosa controllato dall'attaccante durante la traduzione degli shader o la validazione dello stato.
  • Storicamente, questo componente ha prodotto bug di memory safety tramite casi limite nel traduttore GLSL (indicizzazione costante fuori dai limiti, dimensionamento di array con overflow di interi, interazioni swizzle/discard, uniform block sovradimensionati, esplosioni di loop unrolling).

L'harness quindi esercita esattamente questi pattern e poi muta GLSL su larga scala per cercare un crash lato renderer (WebGL context lost = crash del processo GPU o kill da parte del watchdog).


3. Contenuto del repository

FileScopo
cve-2026-9999-poc.htmlHarness PoC autonomo (nessuna dipendenza): fingerprinting della build, 8 shader curati per stressare il traduttore, fuzzer GLSL con acquisizione degli artefatti di crash
README.mdQuesto file

4. Requisiti

  • Una macchina macOS o VM con supporto Metal che sei autorizzato a mandare in crash deliberatamente. La CVE è specifica per macOS [1]; i test su Windows/Linux non esercitano il backend Metal di ANGLE vulnerabile.
  • Build di Chrome < 148.0.7778.216 [1] (vedi §5).
  • Supporto GPU hardware / Metal. Senza di esso, Chrome ripiega su SwiftShader (rendering software) e il percorso vulnerabile non viene mai raggiunto — vedi il controllo in §5.4.
  • Python 3 (opzionale, solo per l'helper di ricerca versione in §5.1 e per un server HTTP locale).

5. Configurazione dell'ambiente

5.1 Metodo A — Chrome for Testing (consigliato)

L'archivio Chrome for Testing di Google fornisce build ancorate a una versione specifica che non si aggiornano automaticamente. Trova la build vulnerabile più recente (tutto ciò che è inferiore a 148.0.7778.216 è affetto [1]):

import json, urllib.request
data = json.load(urllib.request.urlopen(
  "https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json"))
key = lambda v: tuple(int(x) for x in v.split('.'))
fix = (148, 0, 7778, 216)
cands = sorted((v["version"] for v in data["versions"]
                if "chrome" in v.get("downloads", {}) and key(v["version"]) < fix), key=key)
print(cands[-5:])   # pick the last (newest vulnerable) entry

Scarica per la tua architettura (uname -m):

# Apple Silicon
https://storage.googleapis.com/chrome-for-testing-public/<VERSION>/mac-arm64/chrome-mac-arm64.zip
# Intel
https://storage.googleapis.com/chrome-for-testing-public/<VERSION>/mac-x64/chrome-mac-x64.zip

Decomprimi in una cartella di laboratorio (es. ~/lab/, non /Applications) e avvia da lì.

5.2 Metodo B — Snapshot Chromium

Se una build specifica non è disponibile in Chrome for Testing, usa l'archivio degli snapshot Chromium (commondatastorage.googleapis.com/chromium-browser-snapshots/Mac/ per Intel, .../Mac_Arm/ per Apple Silicon), indicizzato per posizione di commit — mappa la versione vulnerabile a una posizione di branch tramite chromium-history, quindi scarica lo snapshot più vicino. Anche gli snapshot non si aggiornano automaticamente.

5.3 Blocca gli aggiornamenti automatici (solo se usi una build branded da un'altra fonte)

Termina gli agenti di aggiornamento Keystone e blocca googleupdate.googleapis.com, altrimenti la build di test si auto-patcha silenziosamente durante la notte. Non necessario per le build di Chrome for Testing.

5.4 Verifica di essere sul backend Metal (critico)

Senza Metal, Chrome esegue il rendering WebGL via software (SwiftShader) e il backend Metal di ANGLE non viene mai toccato. Nella console della pagina PoC, esegui:

const c = document.createElement('canvas'), g = c.getContext('webgl2');
const x = g.getExtension('WEBGL_debug_renderer_info');
console.log(g.getParameter(x.UNMASKED_RENDERER_WEBGL));
// Good:  contains "ANGLE Metal Renderer"
// Bad:   contains "SwiftShader" -> the vulnerable path is NOT being exercised

Puoi anche verificarlo su chrome://gpu. Le macchine virtuali Parallels/VMware Fusion con virtualizzazione GPU di solito funzionano; le configurazioni minimali QEMU/UTM spesso ripiegano su SwiftShader.


6. Passaggi per riprodurre

Scarica lo strumento