
Kit de auditoría y educativo para CVE-2026-5006, una vulnerabilidad de inyección de barra en políticas con plantillas de Vault. Incluye un script de auditoría de solo lectura que genera informes en Markdown y un recorrido interactivo para la remediación.
Dos herramientas para trabajar con la vulnerabilidad de inyección de barras en políticas plantilladas de Vault: un recorrido interactivo para explicar y delimitar el problema, y un script de auditoría que comprueba un clúster en vivo y escribe los hallazgos en Markdown.
vault-cve-2026-5006-walkthrough.html - recorrido interactivo y autónomo del problemavault-cve-2026-5006-audit.sh - auditoría de clúster de solo lectura que genera cuatro informesUna ruta de política de Vault puede incorporar un valor de identidad en vivo, como el departamento de un usuario, mediante plantillado. Vault inserta ese valor en un segmento de ruta cuando renderiza la política. Nada impide que el valor contenga una barra, y una barra es un separador de ruta, por lo que un valor como admin/super-secret convierte un segmento previsto en dos y concede acceso que el autor de la política nunca escribió. Explotarla requiere que tres cosas coincidan: un atacante autenticado, una política plantillada y control sobre el valor de identidad que la alimenta (metadatos de entidad, nombre de alias, metadatos personalizados o metadatos de grupo).
La corrección tiene dos partes: actualizar a una versión parcheada y luego establecer deny_slash_in_templated_paths = true en la configuración del servidor y reiniciar. La marca está desactivada por defecto, por lo que actualizar por sí solo no cierra la brecha.
| Edición | Afectadas | Corregida en |
|---|---|---|
| Community | 0.11.0 hasta 2.0.3 | 2.0.4 |
| Enterprise | 0.11.0 hasta 2.0.3 | 2.0.4 |
| Enterprise LTS | hasta 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 único archivo HTML autónomo. Ábrelo en cualquier navegador.
deny_slash_in_templated_paths
para que puedas ver la corrección bloqueando la regla en tiempo real.helm upgrade combinado de imagen y marca, el ciclo
ordenado de pods (primero los de reserva, último el activo) y la verificación.Equipos de plataforma o seguridad. Comienza con la pestaña de ataque para obtener contexto del problema, usa la pestaña de comprobación para entregar los comandos y cambia la pestaña de remediación según el despliegue que ejecuten.
vault-cve-2026-5006-audit.sh)Recorre cada espacio de nombres al que puedas acceder y escribe cuatro informes Markdown. Nunca modifica Vault; cada llamada es una lista o una lectura.
vault y jq en tu PATHVAULT_ADDR configurado con la dirección del clústerVAULT_TOKEN en el entorno o un
vault login previo. En HCP, un token con alcance a tu espacio de nombres admin.# HCP Vault Dedicated (el espacio de nombres inicial por defecto es "admin")
./vault-cve-2026-5006-audit.sh
# Autogestionado con un token raíz: comienza en la raíz real
./vault-cve-2026-5006-audit.sh -n ""
# Comienza desde un subárbol específico y elige un directorio de salida
./vault-cve-2026-5006-audit.sh -n admin/team-a -o ./team-a-audit
| Marca | Significado | Por defecto |
|---|---|---|
-n | Espacio de nombres desde el que comienza el recorrido | admin |
-o | Directorio de salida para los archivos Markdown | ./vault-audit |
-h | Imprime el encabezado de uso y sale |
Comienza en admin en HCP porque el espacio de nombres raíz real no es visible para ti
allí. Usa -n "" solo cuando tengas un token raíz en un clúster autogestionado.
| Archivo | Contenido |
|---|---|
policies.md | Políticas plantilladas agrupadas por espacio de nombres, con el HCL |
entity-metadata.md | Nombres de entidad y metadatos, una tabla por espacio de nombres |
alias-and-custom-metadata.md | Nombres de alias y metadatos personalizados, por espacio de nombres |
group-metadata.md | Nombres de grupo y metadatos, por espacio de nombres |
Cada archivo comienza con la referencia del aviso, una marca de tiempo UTC, la dirección del clúster, el espacio de nombres inicial y el número de espacios de nombres escaneados.
policies.md enumera solo las políticas cuya ruta se renderiza a partir de datos de identidad
(una referencia {{identity...}}). Esas son las que pueden ampliarse mediante una
barra.
Los tres informes de identidad añaden una columna ¿Barra?. Una fila se marca cuando el
nombre o cualquier valor de metadatos contiene una /. Comprobar el nombre importa: un alias
llamado admin/injected es una exposición incluso cuando sus metadatos están limpios, porque
el nombre en sí puede alimentar una plantilla.
Una marca indica superficie de exposición, no prueba de compromiso. Para cada una, confirma quién tiene permitido escribir ese valor y reestructura la política donde una barra ampliaría el alcance.
Vault Enterprise y HCP aíslan tanto las políticas como el almacén de identidades por
espacio de nombres, por lo que el script ejecuta cada comprobación en cada espacio de nombres. vault namespace list devuelve solo los hijos directos como rutas parciales, por lo que el script recurre y
reconstruye cada ruta completa mientras desciende, y luego establece VAULT_NAMESPACE para cada
llamada.
En árboles de espacios de nombres profundos esto genera muchas llamadas a la API y puede ejecutarse lentamente. Apunta
-n a un subárbol para una primera pasada rápida antes de escanear todo.
deny_slash_in_templated_paths = true y reinicia cada servidor. En
HCP esto es una solicitud de soporte, ya que la configuración del servidor no es tuya para editar.
En autogestionado lo configuras tú mismo.La pestaña de remediación del recorrido tiene los pasos detallados tanto para HCP como para Kubernetes.
deny_slash_in_templated_paths en la referencia de configuración de VaultEstas herramientas son una ayuda, no una declaración oficial de HashiCorp.