CVE Vulnerabilities

CVE-2026-11819

Insertion of Sensitive Information into Log File

Published: Jun 23, 2026 | Modified: Jun 24, 2026
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
RedHat/V2
RedHat/V3
5.5 MODERATE
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Ubuntu
root.io logo minimus.io logo echo.ai logo

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 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)

Weakness

The product writes sensitive information to a log file.

Potential Mitigations

References