CVE-2026-123036 Exposición de información en ansible-core al fallar tareas con no_log
Cuando falla una tarea marcada con no_log: true, el campo exception se conserva por estar en la lista PRESERVE de lib/ansible/_internal/_task.py y el callback de stdout lo imprime mediante CallbackBase._handle_exception. Esto puede revelar valores sensibles que el operador quiso ocultar, como argumentos en errores de validación, fragmentos de variables en errores de templating y mensajes de fail/assert, filtrándolos a la terminal, logs de CI y logs de automatizaciones.
CVSS 3.1
- Probabilidad de explotación · EPSS del 09/110,2 % · percentil 4
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
Red Hat ansible-core
desde 2.19.0 hasta antes de 2.23.0
Qué hacer
- Verificá si usás ansible-core y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 5.5 MEDIA
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
- Vector de ataqueLocal
- Complejidad del ataqueBaja
- Privilegios requeridosBajos
- Interacción del usuarioNinguna
- AlcanceSin cambio
- ConfidencialidadAlta
- IntegridadNinguna
- DisponibilidadNinguna
Descripción original
A flaw was found in ansible-core. When a task marked `no_log: true` fails, the task result is censored before being emitted, but the `exception` field is retained because it is present in the PRESERVE allow-list in lib/ansible/_internal/_task.py, and the default stdout callback prints it through CallbackBase._handle_exception. As a result, sensitive values the operator explicitly asked to hide can be disclosed: module argument-validation errors echo the argument value, templating errors print an Origin source snippet (the failing line plus the two preceding lines of the variables file, exposing neighbouring secrets from an -e @secrets.yml file), and fail/assert messages are printed in full. Secret material supplied as extra variables or variables files can therefore leak to terminal output, CI logs, and the stdout logs of any automation wrapping ansible-playbook, even though every task touching the secrets is marked no_log: true. This is a regression introduced with the ansible-core 2.19 data-tagging/templating rework; the behaviour does not occur on 2.16, where the error text is correctly censored.
Referencias (1)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.