CVE-2024-8775
Medium · 5.5CVSS
5.5
EPSS
0.3%
Published
Sep 14, 2024
CISA due date
—
Cloudanix analysis
Automation software can accidentally display secret passwords and keys in its activity logs when certain loading steps are not marked to hide them.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Application
- Class
- Information Disclosure
- Remediation
- Config Change
- Effort
- Low
- Patch risk
- None
What it actually does
Sensitive information stored in Ansible Vault files is exposed in plaintext in playbook output or logs when tasks such as include_vars load vaulted variables without the no_log: true parameter.
Why it matters to the business
Unintentional disclosure of secrets like passwords or API keys can compromise security and enable unauthorized access or actions across affected environments.
How an attack unfolds
An attacker observes or triggers playbook execution that loads vaulted variables without no_log, causing secrets to appear in console output or log files.
How to fix it
Add no_log: true to any task that loads vaulted variables; review and update all playbooks accordingly.
How to confirm the fix worked
Audit playbooks for include_vars tasks missing no_log: true and inspect recent playbook runs for exposed vault contents.
Typical attack path
- Locate playbooks or roles that use include_vars or similar on vault-encrypted files
- Execute the playbook without the no_log parameter on the task
- Capture plaintext secrets from standard output or persisted logs
How to detect it
Review playbook execution logs and console output for plaintext strings that match expected vault contents or common secret patterns.
What your security team should do
- Enforce no_log: true on all tasks handling vaulted data
- Scan existing playbooks and roles for missing no_log directives
- Update logging and CI pipelines to redact or suppress sensitive output
The record
A flaw was found in Ansible, where sensitive information stored in Ansible Vault files can be exposed in plaintext during the execution of a playbook. This occurs when using tasks such as include_vars to load vaulted variables without setting the no_log: true parameter, resulting in sensitive data being printed in the playbook output or logs. This can lead to the unintentional disclosure of secrets like passwords or API keys, compromising security and potentially allowing unauthorized access or actions.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| PyPI | ansible-core | 0 | No fix |
| PyPI | ansible-core | 0 | 2.16.13 |
| PyPI | ansible-core | 2.17.0b1 | 2.17.6 |
| Debian:11 | ansible | 0 | No fix |
| Debian:11 | ansible | 0 | 2.10.7+merged+base+2.10.17+dfsg-0+deb11u2 |
| Debian:12 | ansible | 0 | 5.4.0-1 |
| Debian:12 | ansible-core | 0 | No fix |
| Debian:13 | ansible | 0 | 5.4.0-1 |
| Debian:13 | ansible-core | 0 | No fix |
| Mageia:9 | python-ansible-core | 0 | 2.14.18-1.mga9 |
| Red Hat:ansible_automation_platform:2.4::el8 | ansible-core | 0 | 1:2.15.13-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | automation-controller-venv-tower | 0 | 0:4.5.13-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el9 | ansible-core | 0 | 1:2.15.13-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | automation-controller-venv-tower | 0 | 0:4.5.13-1.el9ap |
| Red Hat:ansible_automation_platform:2.5::el8 | ansible-core | 0 | 1:2.16.13-1.el8ap |
| Red Hat:ansible_automation_platform:2.5::el9 | ansible-core | 0 | 1:2.16.13-1.el9ap |
| Red Hat:ansible_automation_platform_developer:2.4::el8 | ansible-core | 0 | 1:2.15.13-1.el8ap |
| Red Hat:ansible_automation_platform_developer:2.4::el8 | automation-controller-venv-tower | 0 | 0:4.5.13-1.el8ap |
| Red Hat:ansible_automation_platform_developer:2.4::el9 | ansible-core | 0 | 1:2.15.13-1.el9ap |
| Red Hat:ansible_automation_platform_developer:2.4::el9 | automation-controller-venv-tower | 0 | 0:4.5.13-1.el9ap |
| Red Hat:ansible_automation_platform_developer:2.5::el8 | ansible-core | 0 | 1:2.16.13-1.el8ap |
| Red Hat:ansible_automation_platform_developer:2.5::el9 | ansible-core | 0 | 1:2.16.13-1.el9ap |
| Red Hat:ansible_automation_platform_inside:2.4::el8 | ansible-core | 0 | 1:2.15.13-1.el8ap |
| Red Hat:ansible_automation_platform_inside:2.4::el9 | ansible-core | 0 | 1:2.15.13-1.el9ap |
| Red Hat:ansible_automation_platform_inside:2.5::el8 | ansible-core | 0 | 1:2.16.13-1.el8ap |
| Red Hat:ansible_automation_platform_inside:2.5::el9 | ansible-core | 0 | 1:2.16.13-1.el9ap |
| SUSE:Manager Client Tools 15 | ansible | 0 | 2.9.27-150000.1.20.1 |
| SUSE:Manager Client Tools 15 | spacewalk-client-tools | 0 | 4.3.22-150000.3.100.1 |
| SUSE:Manager Client Tools 15 | uyuni-proxy-systemd-services | 0 | 4.3.15-150000.1.30.1 |
| SUSE:Manager Client Tools for SLE Micro 5 | uyuni-proxy-systemd-services | 0 | 4.3.15-150000.1.30.1 |
| SUSE:Manager Proxy Module 4.3 | ansible | 0 | 2.9.27-150000.1.20.1 |
| SUSE:Manager Proxy Module 4.3 | uyuni-proxy-systemd-services | 0 | 4.3.15-150000.1.30.1 |
| Ubuntu:20.04:LTS | ansible | 0 | No fix |
| Ubuntu:22.04:LTS | ansible | 0 | No fix |
| Ubuntu:22.04:LTS | ansible-core | 0 | No fix |
| Ubuntu:24.04:LTS | ansible | 0 | No fix |
| Ubuntu:24.04:LTS | ansible-core | 0 | No fix |
| Ubuntu:24.10 | ansible | 0 | No fix |
| Ubuntu:24.10 | ansible-core | 0 | No fix |
| Ubuntu:25.04 | ansible | 0 | No fix |
| Ubuntu:25.04 | ansible-core | 0 | No fix |
| Ubuntu:25.10 | ansible | 0 | No fix |
| Ubuntu:25.10 | ansible-core | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | ansible | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | ansible | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | ansible | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | ansible | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | ansible | 0 | No fix |
| openSUSE:Leap 15.6 | ansible | 0 | 2.9.27-150000.1.20.1 |
| openSUSE:Tumbleweed | ansible-core | 0 | 2.17.6-1.1 |
| openSUSE:Tumbleweed | ansible-core-2.16 | 0 | 2.16.13-1.1 |
| openSUSE:Tumbleweed | ansible-core-2.17 | 0 | 2.17.6-1.1 |
| openSUSE:Tumbleweed | ansible-core-2.18 | 0 | 2.18.10-2.1 |
| openSUSE:Tumbleweed | ansible-core-2.19 | 0 | 2.19.4-1.1 |
| openSUSE:Tumbleweed | ansible-core-2.20 | 0 | 2.20.6-1.1 |
| pypi | ansible-core | 2.17.0b1 | No fix |
Related vulnerabilities
- CVE-2024-11079 A flaw was found in Ansible-Core. Also affects ansible-core
- CVE-2024-9902 A flaw was found in Ansible. Also affects ansible-core
- CVE-2024-0690 An information disclosure flaw was found in ansible-core due to a failure to respect the… Also affects ansible-core
- CVE-2023-5764 A template injection flaw was found in Ansible where a user's controller internal… Also affects ansible-core
- CVE-2023-5115 An absolute path traversal attack exists in the Ansible automation platform. Also affects ansible
- CVE-2024-45801 DOMPurify allows tampering by prototype pollution Also affects ansible-core
- CVE-2024-45296 path-to-regexp turns path strings into a regular expressions. Also affects ansible-core
- CVE-2023-5189 A path traversal vulnerability exists in Ansible when extracting tarballs. Also affects ansible-core