Ansible-core: user module generate_ssh_key follows a symlinked ~/.ssh enabling local privilege escalation (incomplete fix of cve-2024-9902)
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions |
|---|---|---|---|
| Red Hat | Migration Toolkit for Applications 8 | affected | — |
| Red Hat | Migration Toolkit for Virtualization | affected | — |
| Red Hat | Migration Toolkit for Virtualization | affected | — |
| Red Hat | OpenShift Service Mesh 3 | affected | — |
| Red Hat | Red Hat Advanced Cluster Management for Kubernetes 2 | affected | — |
| Red Hat | Red Hat Advanced Cluster Management for Kubernetes 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | unaffected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform Ansible Core 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform Ansible Core 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform Ansible Core 2 | affected | — |
| Red Hat | Red Hat Ansible Automation Platform Ansible Core 2 | affected | — |
| Red Hat | Red Hat Discovery 2 | affected | — |
| Red Hat | Red Hat Enterprise Linux 10 | affected | — |
| Red Hat | Red Hat Enterprise Linux 8 | affected | — |
| Red Hat | Red Hat Enterprise Linux 9 | affected | — |
| Red Hat | Red Hat OpenShift Container Platform 4 | affected | — |
| Red Hat | Red Hat OpenShift Container Platform 5 | affected | — |
| Red Hat | Red Hat Satellite 6 | affected | — |
| Red Hat | Self-service automation portal 2 | affected | — |
| Red Hat | Service Telemetry Framework 1.5 | affected | — |
| Red Hat | Service Telemetry Framework 1.5 | affected | — |
No data.
No data.
No data available yet.
Vendor Workaround
Do not use generate_ssh_key: yes against accounts whose home directory is controlled by an untrusted user; pre-create ~/.ssh as a real directory owned appropriately before running the module, or generate the key as the target account itself (dropping to its uid/gid) rather than as root.
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.111% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Redhat acm
Redhat discovery Redhat enterprise Linux Redhat migration Toolkit Applications Redhat migration Toolkit Virtualization Redhat openshift Redhat satellite Redhat service Mesh Redhat stf |
|
| CPEs | cpe:/a:redhat:acm:2 cpe:/a:redhat:discovery:2::el8 cpe:/a:redhat:enterprise_linux:10 cpe:/a:redhat:enterprise_linux:8 cpe:/a:redhat:enterprise_linux:9 cpe:/a:redhat:migration_toolkit_applications:8 cpe:/a:redhat:migration_toolkit_virtualization:2 cpe:/a:redhat:openshift:4 cpe:/a:redhat:openshift:5 cpe:/a:redhat:satellite:6 cpe:/a:redhat:service_mesh:3 cpe:/a:redhat:stf:1.5 |
|
| Vendors & Products |
Redhat acm
Redhat discovery Redhat enterprise Linux Redhat migration Toolkit Applications Redhat migration Toolkit Virtualization Redhat openshift Redhat satellite Redhat service Mesh Redhat stf |
| Type | Values Removed | Values Added |
|---|---|---|
| Title | ansible-core: user module generate_ssh_key follows a symlinked ~/.ssh enabling local privilege escalation (incomplete fix of CVE-2024-9902) | Ansible-core: user module generate_ssh_key follows a symlinked ~/.ssh enabling local privilege escalation (incomplete fix of cve-2024-9902) |
| First Time appeared |
Redhat
Redhat ansible Automation Platform Redhat ansible Core Redhat ansible Portal |
|
| CPEs | cpe:/a:redhat:ansible_automation_platform:2 cpe:/a:redhat:ansible_core:2 cpe:/a:redhat:ansible_portal:2 |
|
| Vendors & Products |
Redhat
Redhat ansible Automation Platform Redhat ansible Core Redhat ansible Portal |
|
| References |
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | A flaw was found in the ansible-core user module. When generate_ssh_key is enabled, User.ssh_key_gen() guards the key files against symlinks but checks the ~/.ssh directory only with os.path.exists(). An unprivileged user on a managed node who replaces their ~/.ssh with a symlink to an existing root-writable directory causes the privileged module to write the generated key pair through the symlink and then chown both files to that user. Because such files can be dropped into directories processed by schedulers (e.g. /etc/cron.daily) or dynamic MOTD (/etc/update-motd.d), the user can escalate to root on the managed node. This is an incomplete fix of CVE-2024-9902. | |
| Title | ansible-core: user module generate_ssh_key follows a symlinked ~/.ssh enabling local privilege escalation (incomplete fix of CVE-2024-9902) | |
| Weaknesses | CWE-59 | |
| References |
| |
| Metrics |
threat_severity
|
cvssV3_1
|