Raw vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:NSummary
CVE-2026-11819 is a medium-severity Insertion of Sensitive Information into Log File (CWE-532) vulnerability in Redhat Enterprise Linux. Its CVSS base score is 5.5 (Medium).
Operationally, exploitation aligns with the MITRE ATT&CK technique Unsecured Credentials (T1552); ranked at the 2th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified map to SI-15 (Information Output Filtering) and AU-3 (Content of Audit Records) — see the control section below for these in your framework.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2026-38604
Vulnerability Data
Module: plugins/modules/keyring_info.py CVSS 3.1: 5.5 MEDIUM — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N Issue: The module retrieves a passphrase from the OS native keyring (GNOME Keyring, macOS Keychain, Windows Credential Manager) and places it directly into result["passphrase"] with no output suppression, no no_log protection, and…
more
no documentation warning. Root Cause: Line 105 (protected): keyring_password=dict(type="str", required=True, no_log=True) Line 127 (NOT protected): result["passphrase"] = passphrase Observed Output: { "changed": false, "passphrase": "MyMasterP@ssw0rd!SSH_Key_Secret" } Visible via register + debug: { "keyring_result": { "changed": false, "passphrase": "MyMasterP@ssw0rd!SSH_Key_Secret" } } Impact: Master passwords, SSH key passphrases and service credentials appear in all Ansible output register: keyring_result followed by debug: var=keyring_result prints passphrase in full Ansible fact caching backends (Redis, JSON file, memcached) may persist the passphrase AWX/Tower job logs silently store the live credential Fix: module.exit_json(changed=False, passphrase=passphrase, _ansible_no_log=True) Also add a documentation warning requiring callers to use no_log: true at the task level. PoCs Fig 1: PoC execution showing passphrase in plaintext output Fig 2: Source code showing no_log=True on input (line 105) vs unprotected output (line 127)
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Vulnerability directly exposes retrieved keyring credentials in module results/outputs/logs due to missing no_log protection on return values (CWE-532), facilitating unsecured credential access.
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
Mitigating Controls (NIST 800-53 r5) AI
Directly requires filtering sensitive values (passphrases) from all module outputs and results before they are returned or logged.
Mandates that audit and result records exclude sensitive credential data, preventing the observed plaintext passphrase exposure in register/debug/fact-caching paths.
Requires cryptographic or access protection for sensitive information persisted at rest in Ansible fact caches (Redis, JSON, memcached) that would otherwise store the leaked passphrase.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure SDLC practices directly prohibit writing sensitive data to logs; eliminating the weakness satisfies only one narrow slice of the control.
Log generation configuration can and should exclude sensitive data, but the control statement focuses on availability rather than content filtering.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Requiring de-identification and privacy controls before logs leave the organization reduces the chance that sensitive data inadvertently captured in logs becomes exposed to external parties.
By defining what records must be kept, where, and for how long, the control discourages the inadvertent inclusion of sensitive information in logs or other externally accessible files that fall outside the formal record system.
Mandating deletion of temporary files and logs that may contain sensitive information prevents those artifacts from remaining accessible after the data is no longer needed.
When log entries are produced from masked data sets, the control prevents the inadvertent insertion of sensitive values into externally accessible log files.
DLP inspection of logs and file transfers can detect and block the inadvertent placement of sensitive tokens or credentials into externally accessible log files before they are written or transmitted.
Requiring restrictions on free-text fields and proper error-message handling stops developers from embedding or leaking sensitive data into logs or diagnostic output.