Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
SkeletonKey — CVE-2026-6765, solo test dei gestori FormAutofill esposti in Firefox | Kitploit
Strumenti/GitHubGitHub/defineid/skeletonkey
Analisi delle VulnerabilitàExploitEsfiltrazione DatiSicurezza WebPrivacyAttacco Avversario
GitHubdefineid/skeletonkey

SkeletonKey

CVE-2026-6765, solo test dei gestori FormAutofill esposti in Firefox

Vedi Repository
221 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-6765 · Handler di test di FormAutofill raggiungibili al di fuori dell'automazione

Segnalatore accreditato da Mozilla in MFSA 2026-30: Abdulaziz Alasaiqah. Questa directory contiene un harness di riproduzione reale per la vulnerabilità. È pensato per essere eseguito contro una build vulnerabile di Firefox scaricata localmente. Non tocca mai alcun sistema attivo o di terze parti.

Repository PoC corrispondente: https://github.com/defineid/SkeletonKey Writeup: writeup-ff-autofill.html in questo portfolio.

Fatti verificati (documentazione pubblica)

CampoValoreFonte
CVECVE-2026-6765MITRE cvelistV5 (stato PUBLISHED, CNA Mozilla)
TitoloInformation disclosure in the Form Autofill componentNVD · MFSA 2026-30
GravitàModerata · CVSS 5.3 · AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NNVD
CWE359 · Exposure of Private InformationNVD
Corretto inFirefox 150 · Firefox ESR 140.10 · Thunderbird 150 / 140.10MFSA 2026-30
Bugbugzilla.mozilla.org/show_bug.cgi?id=2022419 (ad accesso limitato per sicurezza)Riferimento NVD
SegnalatoreAbdulaziz AlasaiqahMFSA 2026-30

Meccanismo (verificabile dal codice sorgente)

La coppia di JSWindowActor di FormAutofill (FormAutofillChild nel contenuto e FormAutofillParent nel processo padre) scambia messaggi. Nell'attuale mozilla-central FormAutofillParent.receiveMessage filtra qualsiasi cosa al di fuori dell'insieme consentito dietro il controllo di automazione:

// toolkit/components/formautofill/FormAutofillParent.sys.mjs  (fixed tree)
if (!FORM_AUTOFILL_MESSAGES.has(name) && !Cu.isInAutomation) {
  return undefined;
}

Il commento nel sorgente afferma che i gestori Save e Remove vengono invocati solo dai test:

  • FormAutofill:SaveAddress
  • FormAutofill:SaveCreditCard
  • FormAutofill:RemoveAddresses
  • FormAutofill:RemoveCreditCards

Nelle build interessate tali gestori riservati ai test erano raggiungibili senza il controllo Cu.isInAutomation, quindi un contesto di contenuto poteva raggiungere percorsi di FormAutofill che non erano mai stati pensati per essere esposti al contenuto web. Mozilla ha classificato l'esposizione risultante come divulgazione di informazioni dei dati autofill memorizzati.

Nota sulla raggiungibilità: getActor risiede su windowGlobalChild, una proprietà solo chrome. Lo script ordinario di una pagina non lo vede mai, quindi il modello di minaccia è un processo di contenuto che un attaccante influenza già (un compromesso del renderer o un percorso di codice lato contenuto) che invia il messaggio dell'actor, non una semplice pagina web. L'harness tenta il percorso di contenuto e riporta onestamente se il parent ha risposto o se il confine ha tenuto.

La primitiva esatta di divulgazione risiede nel bug 2022419, che è soggetto a restrizioni di sicurezza. Questo harness dimostra la raggiungibilità di un gestore riservato ai test che una build corretta blocca. Passa la chiamata precisa usata nel tuo report con --message.

Modello di minaccia

Un processo di contenuto che un attaccante influenza già (un compromesso del renderer o un percorso di codice lato contenuto) invia un messaggio dell'actor FormAutofill che dovrebbe provenire soltanto dall'harness di test. Su una build vulnerabile il parent risponde. Su una build corretta il controllo di automazione lo scarta.

Prerequisiti

  1. Una build vulnerabile. Qualsiasi Firefox precedente alla 150 o ESR precedente alla 140.10. Gli screenshot del write-up usano Firefox 140.9.0esr. Scarica la build corrispondente alla tua piattaforma dall'archivio ufficiale Mozilla all'indirizzo https://ftp.mozilla.org/pub/firefox/releases/140.9.0esr/.
  2. Python con il client Marionette:
    pip install marionette-driver
    
  3. Un profilo usa e getta popolato con dati di compilazione automatica sintetici. Non usare mai dati personali o di pagamento reali.

Popolare un profilo sintetico

Avvia la build vulnerabile con un profilo nuovo e Marionette abilitato:

/path/to/firefox --marionette --no-remote --profile ./poc-profile about:blank

Poi in about:preferences#privacy aggiungi un indirizzo salvato sintetico e una carta sintetica, ad esempio nome POC TESTER, numero carta 4111 1111 1111 1111. Questi sono solo dati di test.

Esecuzione

python3 poc.py                 # default handler and 127.0.0.1:2828
python3 poc.py --help          # options
python3 poc.py --message FormAutofill:SaveAddress

Fallback tramite browser-toolbox

getActor è disponibile solo in chrome, quindi dal content sandbox l'harness semplice segnala l'actor come irraggiungibile (vedi poc-run.png). Per pilotare il messaggio da un contesto che possiede effettivamente l'actor, su una build vulnerabile abilitare il Browser Toolbox (devtools.chrome.enabled e devtools.debugger.remote-enabled), aprirlo con Ctrl+Alt+Shift+I e, dalla console del content-process, recuperare l'actor da windowGlobalChild e chiamare sendQuery con lo stesso payload sintetico. Questo rispecchia il modello di minaccia del content-process compromesso senza alcun dato reale.

Risultato atteso

  • Build vulnerabile: l'harness raggiunge l'actor FormAutofill dal content e viene eseguito l'handler di solo test. Lo script stampa lo stato di Form Autofill restituito o mutato, mostrando il confine che non dovrebbe essere superabile.
  • Build corretta (150 o ESR 140.10 e successive): la stessa chiamata restituisce undefined perché Cu.isInAutomation è false. Lo script segnala che il gate è applicato.

Stato della verifica

Questo harness è stato scritto a partire dal registro pubblico e dal sorgente attuale di mozilla-central. È stato eseguito qui contro la build locale di Firefox 140.11.0esr, che è già corretta per CVE-2026-6765. L'esecuzione catturata è in poc-run.png: dal contesto content l'actor FormAutofill non è raggiungibile (windowGlobalChild.getActor non è esposto al content), quindi il confine del parent regge. Questo è il risultato corretto e onesto su una build corretta.

Per osservare il superamento del confine serve una build vulnerabile (Firefox precedente alla 150 o ESR precedente alla 140.10, ad esempio 140.9.0esr) più un profilo usa e getta inizializzato con dati autofill sintetici, e si pilota il messaggio dell'actor da un contesto del content-process secondo il fallback browser-toolbox sopra descritto. Adattare --message alla primitiva esatta del report originale.

Ambito ed etica

Questo prende di mira una build scaricata localmente con dati sintetici per un writeup del CVE segnalato dall'autore stesso e già corretto. Non attacca alcun servizio live o di terze parti.

Scarica lo strumento