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.
Published: 2026-11-05
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Analysis and contextual insights are available on OpenCVE Cloud.

Remediation

No vendor fix or workaround currently provided.

Additional remediation guidance may be available on OpenCVE Cloud.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 06 Nov 2026 00:15:00 +0000

Type Values Removed Values Added
Title Sensitive Data Leakage Exploited by Exception Handling in ansible-core ansible-core: no_log does not censor the task exception field, leaking secret values via the default stdout callback
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 05 Nov 2026 11:00:00 +0000

Type Values Removed Values Added
First Time appeared Redhat
Redhat ansible Core
Vendors & Products Redhat
Redhat ansible Core

Thu, 05 Nov 2026 10:45:00 +0000

Type Values Removed Values Added
Title Sensitive Data Leakage Exploited by Exception Handling in ansible-core

Thu, 05 Nov 2026 09:45:00 +0000

Type Values Removed Values Added
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.
Weaknesses CWE-209
References
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N'}


Subscriptions

Redhat Ansible Core
cve-icon MITRE

Status: PUBLISHED

Assigner: redhat

Published:

Updated: 2026-11-05T19:04:44.264Z

Reserved: 2026-11-05T07:01:00.146Z

Link: CVE-2026-123036

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-11-05T10:16:38.220

Modified: 2026-11-05T19:17:17.220

Link: CVE-2026-123036

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-11-05T00:00:00Z

Links: CVE-2026-123036 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-11-05T10:45:14Z

Weaknesses