
Kit di audit e formazione per CVE-2026-5006, una vulnerabilità di slash-injection nelle policy template di Vault. Include uno script di audit in sola lettura che genera report in Markdown e una guida interattiva per la remediation.
Due strumenti per affrontare la vulnerabilità di slash-injection nelle policy templatizzate di Vault: una guida interattiva per spiegare e valutare il problema, e uno script di audit che controlla un cluster live e scrive i risultati in Markdown.
vault-cve-2026-5006-walkthrough.html - guida interattiva e autonoma del problemavault-cve-2026-5006-audit.sh - audit di cluster in sola lettura che genera quattro reportUn percorso di policy di Vault può incorporare un valore di identità live, come il reparto di un utente, tramite templating. Vault inserisce quel valore in un segmento di percorso quando renderizza la policy. Nulla impedisce al valore di contenere una barra, e una barra è un separatore di percorso, quindi un valore come admin/super-secret trasforma un segmento previsto in due e concede un accesso che l'autore della policy non ha mai scritto. Per sfruttarla servono tre condizioni allineate: un attaccante autenticato, una policy templatizzata e il controllo sul valore di identità che la alimenta (metadati dell'entità, nome di un alias, metadati personalizzati o metadati di gruppo).
La correzione ha due parti: aggiornare a una build patchata, quindi impostare deny_slash_in_templated_paths = true nella configurazione del server e riavviare. Il flag è disattivato per impostazione predefinita, quindi il solo aggiornamento non chiude la falla.
| Edizione | Interessate | Corretta in |
|---|---|---|
| Community | 0.11.0 fino a 2.0.3 | 2.0.4 |
| Enterprise | 0.11.0 fino a 2.0.3 | 2.0.4 |
| Enterprise LTS | fino a 1.21.8 / 1.20.13 / 1.19.19 | 1.21.9 / 1.20.14 / 1.19.20 |
vault-cve-2026-5006-walkthrough.html)Un singolo file HTML autonomo. Aprilo in qualsiasi browser.
deny_slash_in_templated_paths
così puoi vedere la correzione bloccare la regola in tempo reale.helm upgrade combinato di immagine e flag, il ciclo ordinato
dei pod (prima le standby, poi l'attivo) e la verifica.Ai team di piattaforma o sicurezza. Inizia con la scheda dell'attacco per acquisire il contesto del problema, usa la scheda di controllo per consegnare i comandi e passa alla scheda del rimedio in base alla distribuzione che gestiscono.
vault-cve-2026-5006-audit.sh)Attraversa ogni namespace raggiungibile e scrive quattro report Markdown. Non modifica mai Vault; ogni chiamata è una lista o una lettura.
vault e jq nel tuo PATHVAULT_ADDR impostato sull'indirizzo del clusterVAULT_TOKEN nell'ambiente o un precedente
vault login. Su HCP, un token con ambito sul tuo namespace admin.# HCP Vault Dedicated (il namespace di partenza predefinito è "admin")
./vault-cve-2026-5006-audit.sh
# Self-managed con un token root: parti dalla root reale
./vault-cve-2026-5006-audit.sh -n ""
# Parti da un sottoalbero specifico e scegli una directory di output
./vault-cve-2026-5006-audit.sh -n admin/team-a -o ./team-a-audit
| Flag | Significato | Predefinito |
|---|---|---|
-n | Namespace da cui parte l'esplorazione | admin |
-o | Directory di output per i file Markdown | ./vault-audit |
-h | Stampa l'intestazione di utilizzo ed esce |
Parti da admin su HCP perché la root namespace reale non ti è visibile
lì. Usa -n "" solo quando detieni un token root su un cluster self-managed.
| File | Contenuti |
|---|---|
policies.md | Policy templatizzate raggruppate per namespace, con l'HCL |
entity-metadata.md | Nomi delle entità e metadati, una tabella per namespace |
alias-and-custom-metadata.md | Nomi degli alias e metadati personalizzati, per namespace |
group-metadata.md | Nomi dei gruppi e metadati, per namespace |
Ogni file si apre con il riferimento all'advisory, un timestamp UTC, l'indirizzo del cluster, il namespace di partenza e il numero di namespace scansionati.
policies.md elenca solo le policy il cui percorso è renderizzato da dati di identità
(un riferimento {{identity...}}). Quelle sono le uniche che possono essere ampliate da una
barra.
I tre report sull'identità aggiungono una colonna Slash?. Una riga viene segnalata quando il
nome o qualsiasi valore di metadati contiene una /. Controllare il nome è importante: un alias
chiamato admin/injected è un'esposizione anche quando i suoi metadati sono puliti, perché
il nome stesso può alimentare un template.
Un flag indica una superficie di esposizione, non una prova di compromissione. Per ciascuno, conferma chi è autorizzato a scrivere quel valore e ristruttura la policy dove una barra amplierebbe l'ambito.
Vault Enterprise e HCP isolano sia le policy sia lo store di identità per
namespace, quindi lo script esegue ogni controllo in ciascun namespace. vault namespace list restituisce solo i figli diretti come percorsi parziali, quindi lo script ricorre e
ricostruisce ogni percorso completo mentre scende, poi imposta VAULT_NAMESPACE per ogni
chiamata.
Su alberi di namespace profondi questo genera molte chiamate API e può essere lento. Punta
-n a un sottoalbero per una prima passata veloce prima di scansionare tutto.
deny_slash_in_templated_paths = true e riavvia ogni server. Su
HCP questa è una richiesta di supporto, poiché la configurazione del server non è modificabile da te.
Su self-managed la imposti tu stesso.La scheda del rimedio nella guida ha la procedura passo-passo sia per HCP sia per Kubernetes.
deny_slash_in_templated_paths nel riferimento di configurazione di VaultQuesti strumenti sono un ausilio, non una dichiarazione ufficiale di HashiCorp.