Katalog CVE

CVE-2026-11819

ŚrednieCVSS 5.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.13%

Percentyl 3 — wyżej niż 3% wszystkich znanych CVE

Streszczenie

Moduł Ansible keyring_info wycieka hasło dostępowe do kluczy SSH i innych sekretów w postaci jawnego tekstu do dzienników Ansible, AWX/Tower oraz pamięci podręcznej faktów. Mimo oznaczenia parametru wejściowego jako no_log=True, wynik działania modułu nie jest chroniony, co pozwala na odczytanie hasła przez każdego użytkownika z dostępem do logów.

Ocena ryzyka

Organizacja naraża się na ujawnienie haseł głównych, haseł do kluczy SSH i poświadczeń usług w dziennikach Ansible, co może prowadzić do nieautoryzowanego dostępu do systemów i danych. Hasła mogą być trwale przechowywane w pamięci podręcznej faktów (Redis, JSON, memcached) oraz w logach zadań AWX/Tower.

Rekomendacja

Należy natychmiast zaktualizować moduł keyring_info do wersji zawierającej poprawkę _ansible_no_log=True w wywołaniu module.exit_json. Dodatkowo, na poziomie zadania Ansible należy ustawić no_log: true dla wszystkich wywołań tego modułu.

Oryginalny opis (angielski, źródło NVD)

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)

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS