CVE-2024-0690
Medium · 5.5CVSS
5.5
EPSS
0.3%
Published
Feb 6, 2024
CISA due date
—
Cloudanix analysis
A configuration setting meant to hide passwords during automation sometimes fails, allowing those passwords to show up in logs where they should have been hidden.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Library
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw bypasses ANSIBLE_NO_LOG in loop constructs and certain task scenarios, causing decrypted secret values and other sensitive data to appear in task output and logs despite the configuration setting.
Why it matters to the business
Organizations may inadvertently expose credentials or secrets in automation logs, increasing the risk of credential theft and downstream compromise across managed systems.
How an attack unfolds
An attacker with access to Ansible task output, logs, or console sessions observes decrypted secrets printed during looped tasks where no-log was expected to suppress them; the issue requires local or log-viewing privileges rather than remote code execution.
How to fix it
Upgrade ansible-core to version 6.9.8-1 or later on all affected Debian 13 systems; re-run affected playbooks after upgrade to confirm no_log behavior is restored and audit historical job outputs for prior exposures.
How to confirm the fix worked
Verify ansible-core package version is at least 6.9.8-1, then execute a test playbook containing a looped task with no_log and sensitive data to confirm the secret no longer appears in output or logs.
Typical attack path
- Obtain access to Ansible controller logs, job output, or console sessions
- Identify playbooks or roles that use loop constructs with no_log on sensitive modules
- Trigger or observe task execution to capture leaked secret values in output
- Use disclosed credentials to pivot into managed infrastructure
How to detect it
Review Ansible job output, syslog, and log aggregation platforms for task results that contain secret-like strings despite the presence of no_log directives in the corresponding playbook tasks.
What your security team should do
- Immediately upgrade all ansible-core installations to the fixed Debian package version 6.9.8-1
- Scan existing job history and log archives for any prior leakage of secrets in looped tasks
- Enforce least-privilege access to Ansible controller logs and job output
- Add automated version checks and no_log regression tests to CI pipelines
The record
An information disclosure flaw was found in ansible-core due to a failure to respect the ANSIBLE_NO_LOG configuration in some scenarios. Information is still included in the output in certain tasks, such as loop items. Depending on the task, this issue may include sensitive information, such as decrypted secret values.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| PyPI | ansible-core | 0 | 2.14.14 |
| PyPI | ansible-core | 2.15.0 | 2.15.9 |
| PyPI | ansible-core | 2.16.0 | 2.16.3 |
| AlmaLinux:8 | ansible-core | 0 | 2.16.3-2.el8 |
| AlmaLinux:8 | ansible-test | 0 | 2.16.3-2.el8 |
| AlmaLinux:9 | ansible-core | 0 | 1:2.14.14-1.el9 |
| AlmaLinux:9 | ansible-test | 0 | 1:2.14.14-1.el9 |
| Debian:11 | ansible | 0 | No fix |
| Debian:12 | ansible | 0 | 5.4.0-1 |
| Debian:12 | ansible-core | 0 | 2.14.16-0+deb12u1 |
| Debian:13 | ansible | 0 | 5.4.0-1 |
| Debian:13 | ansible-core | 0 | 2.16.5-1 |
| Mageia:9 | python-ansible-core | 0 | 2.14.17-1.1.mga9 |
| Red Hat:ansible_automation_platform:2.4::el8 | ansible-core | 0 | 1:2.15.9-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el8 | automation-controller-venv-tower | 0 | 0:4.5.1-1.el8ap |
| Red Hat:ansible_automation_platform:2.4::el9 | ansible-core | 0 | 1:2.15.9-1.el9ap |
| Red Hat:ansible_automation_platform:2.4::el9 | automation-controller-venv-tower | 0 | 0:4.5.1-1.el9ap |
| Red Hat:ansible_automation_platform_developer:2.4::el8 | ansible-core | 0 | 1:2.15.9-1.el8ap |
| Red Hat:ansible_automation_platform_developer:2.4::el9 | ansible-core | 0 | 1:2.15.9-1.el9ap |
| Red Hat:ansible_automation_platform_inside:2.4::el8 | ansible-core | 0 | 1:2.15.9-1.el8ap |
| Red Hat:ansible_automation_platform_inside:2.4::el9 | ansible-core | 0 | 1:2.15.9-1.el9ap |
| Red Hat:enterprise_linux:8::appstream | ansible-core | 0 | 0:2.16.3-2.el8 |
| Red Hat:enterprise_linux:8::appstream | ansible-test | 0 | 0:2.16.3-2.el8 |
| Red Hat:enterprise_linux:9::appstream | ansible-core | 0 | 1:2.14.14-1.el9 |
| Red Hat:enterprise_linux:9::appstream | ansible-test | 0 | 1:2.14.14-1.el9 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | golang-github-prometheus-promu | 0 | 0.14.0-150000.3.18.2 |
| SUSE:Manager Client Tools 15 | POS_Image-Graphical7 | 0 | 0.1.1710765237.46af599-150000.1.21.2 |
| SUSE:Manager Client Tools 15 | POS_Image-JeOS7 | 0 | 0.1.1710765237.46af599-150000.1.21.2 |
| SUSE:Manager Client Tools 15 | ansible | 0 | 2.9.27-150000.1.17.2 |
| SUSE:Manager Client Tools 15 | dracut-saltboot | 0 | 0.1.1710765237.46af599-150000.1.53.2 |
| SUSE:Manager Client Tools 15 | grafana | 0 | 9.5.18-150000.1.63.2 |
| SUSE:Manager Client Tools 15 | mgr-daemon | 0 | 4.3.9-150000.1.47.2 |
| SUSE:Manager Client Tools 15 | spacecmd | 0 | 4.3.27-150000.3.116.2 |
| SUSE:Manager Client Tools 15 | spacewalk-client-tools | 0 | 4.3.19-150000.3.89.2 |
| SUSE:Manager Client Tools 15 | spacewalk-koan | 0 | 4.3.6-150000.3.33.2 |
| SUSE:Manager Client Tools 15 | uyuni-common-libs | 0 | 4.3.10-150000.1.39.2 |
| SUSE:Manager Client Tools 15 | uyuni-proxy-systemd-services | 0 | 4.3.12-150000.1.21.2 |
| SUSE:Manager Client Tools 15-BETA | POS_Image-Graphical7 | 0 | 0.1.1710765237.46af599-159000.3.24.2 |
| SUSE:Manager Client Tools 15-BETA | POS_Image-JeOS7 | 0 | 0.1.1710765237.46af599-159000.3.24.2 |
| SUSE:Manager Client Tools 15-BETA | ansible | 0 | 2.9.27-159000.3.12.2 |
| SUSE:Manager Client Tools 15-BETA | dracut-saltboot | 0 | 0.1.1710765237.46af599-159000.3.33.2 |
| SUSE:Manager Client Tools 15-BETA | grafana | 0 | 9.5.16-159000.4.30.2 |
| SUSE:Manager Client Tools 15-BETA | spacecmd | 0 | 5.0.5-159000.6.48.2 |
| SUSE:Manager Client Tools 15-BETA | spacewalk-client-tools | 0 | 5.0.4-159000.6.54.2 |
| SUSE:Manager Client Tools 15-BETA | supportutils-plugin-susemanager-client | 0 | 5.0.3-159000.6.21.2 |
| SUSE:Manager Client Tools 15-BETA | uyuni-tools | 0 | 0.1.7-159000.3.8.1 |
| SUSE:Manager Client Tools Beta for SLE Micro 5 | golang-github-prometheus-node_exporter | 0 | 1.5.0-159000.6.2.1 |
| SUSE:Manager Client Tools Beta for SLE Micro 5 | uyuni-tools | 0 | 0.1.7-159000.3.8.1 |
| SUSE:Manager Client Tools for SLE Micro 5 | dracut-saltboot | 0 | 0.1.1710765237.46af599-150000.1.53.2 |
| SUSE:Manager Client Tools for SLE Micro 5 | uyuni-proxy-systemd-services | 0 | 4.3.12-150000.1.21.2 |
| SUSE:Manager Proxy Module 4.3 | ansible | 0 | 2.9.27-150000.1.17.2 |
| SUSE:Manager Proxy Module 4.3 | uyuni-proxy-systemd-services | 0 | 4.3.12-150000.1.21.2 |
| SUSE:Manager Tools 15 | POS_Image-Graphical7 | 0 | 0.1.1710765237.46af599-150000.1.21.2 |
| SUSE:Manager Tools 15 | POS_Image-JeOS7 | 0 | 0.1.1710765237.46af599-150000.1.21.2 |
| SUSE:Manager Tools 15 | ansible | 0 | 2.9.27-150000.1.17.2 |
| SUSE:Manager Tools 15 | dracut-saltboot | 0 | 0.1.1710765237.46af599-150000.1.53.2 |
| SUSE:Manager Tools 15 | grafana | 0 | 9.5.18-150000.1.63.2 |
| SUSE:Manager Tools 15 | mgr-daemon | 0 | 4.3.9-150000.1.47.2 |
| SUSE:Manager Tools 15 | spacecmd | 0 | 4.3.27-150000.3.116.2 |
| SUSE:Manager Tools 15 | spacewalk-client-tools | 0 | 4.3.19-150000.3.89.2 |
| SUSE:Manager Tools 15 | spacewalk-koan | 0 | 4.3.6-150000.3.33.2 |
| SUSE:Manager Tools 15 | uyuni-common-libs | 0 | 4.3.10-150000.1.39.2 |
| SUSE:Manager Tools 15 | uyuni-proxy-systemd-services | 0 | 4.3.12-150000.1.21.2 |
| SUSE:Manager Tools 15-BETA | POS_Image-Graphical7 | 0 | 0.1.1710765237.46af599-159000.3.24.2 |
| SUSE:Manager Tools 15-BETA | POS_Image-JeOS7 | 0 | 0.1.1710765237.46af599-159000.3.24.2 |
| SUSE:Manager Tools 15-BETA | ansible | 0 | 2.9.27-159000.3.12.2 |
| SUSE:Manager Tools 15-BETA | dracut-saltboot | 0 | 0.1.1710765237.46af599-159000.3.33.2 |
| SUSE:Manager Tools 15-BETA | grafana | 0 | 9.5.16-159000.4.30.2 |
| SUSE:Manager Tools 15-BETA | spacecmd | 0 | 5.0.5-159000.6.48.2 |
| SUSE:Manager Tools 15-BETA | spacewalk-client-tools | 0 | 5.0.4-159000.6.54.2 |
| SUSE:Manager Tools 15-BETA | supportutils-plugin-susemanager-client | 0 | 5.0.3-159000.6.21.2 |
| SUSE:Manager Tools 15-BETA | uyuni-tools | 0 | 0.1.7-159000.3.8.1 |
| SUSE:Manager Tools Beta for SLE Micro 5 | golang-github-prometheus-node_exporter | 0 | 1.5.0-159000.6.2.1 |
| SUSE:Manager Tools Beta for SLE Micro 5 | uyuni-tools | 0 | 0.1.7-159000.3.8.1 |
| SUSE:Manager Tools for SLE Micro 5 | dracut-saltboot | 0 | 0.1.1710765237.46af599-150000.1.53.2 |
| SUSE:Manager Tools for SLE Micro 5 | uyuni-proxy-systemd-services | 0 | 4.3.12-150000.1.21.2 |
| 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.5 | POS_Image-Graphical7 | 0 | 0.1.1710765237.46af599-150000.1.21.2 |
| openSUSE:Leap 15.5 | POS_Image-JeOS7 | 0 | 0.1.1710765237.46af599-150000.1.21.2 |
| openSUSE:Leap 15.5 | ansible | 0 | 2.9.27-150000.1.17.2 |
| openSUSE:Leap 15.5 | dracut-saltboot | 0 | 0.1.1710765237.46af599-150000.1.53.2 |
| openSUSE:Leap 15.5 | golang-github-prometheus-promu | 0 | 0.14.0-150000.3.18.2 |
| openSUSE:Leap 15.5 | spacecmd | 0 | 4.3.27-150000.3.116.2 |
| openSUSE:Tumbleweed | ansible-core | 0 | 2.16.9-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.15.0 | No fix |
| pypi | ansible-core | 2.15.0b1 | No fix |
| pypi | ansible-core | 2.16.0 | No fix |
| pypi | ansible-core | 2.16.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-8775 A flaw was found in Ansible, where sensitive information stored in Ansible Vault files… 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