Read the docs

Symlink following in Ansible-core user module allows root escalation

Priority LOW 30CWE-59Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
Required
Attack complexity
High
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Deferred Red Hat: fix deferred

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and Red Hat.

Summary

The ansible-core user module in products such as Red Hat Ansible Automation Platform 2 and other products is affected. With generate_ssh_key enabled, the module checks the ~/.ssh directory only for existence and does not reject symlinks (CWE-59). A local user with low privileges on a managed node can redirect the key files through a symlink, then gain root through files run by cron or the dynamic MOTD. This is an incomplete fix of CVE-2024-9902.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00111 1st percentileScored 2026-11-07
Fix Deferred Red Hat: fix deferred

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
Red HatMigration Toolkit for Applications 8——No fix listedCNA
Red HatMigration Toolkit for Virtualization——No fix listedCNA
Red HatMigration Toolkit for Virtualization——No fix listedCNA
Red HatOpenShift Service Mesh 3——No fix listedCNA
Red HatRed Hat Advanced Cluster Management for Kubernetes 2——No fix listedCNA
Red HatRed Hat Advanced Cluster Management for Kubernetes 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——Not affectedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform Ansible Core 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform Ansible Core 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform Ansible Core 2——No fix listedCNA
Red HatRed Hat Ansible Automation Platform Ansible Core 2——No fix listedCNA
Red HatRed Hat Discovery 2——No fix listedCNA
Red HatRed Hat Enterprise Linux 10——No fix listedCNA
Red HatRed Hat Enterprise Linux 8——No fix listedCNA
Red HatRed Hat Enterprise Linux 9——No fix listedCNA
Red HatRed Hat OpenShift Container Platform 4——No fix listedCNA
Red HatRed Hat OpenShift Container Platform 5——No fix listedCNA
Red HatRed Hat Satellite 6——No fix listedCNA
Red HatSelf-service automation portal 2——No fix listedCNA
Red HatService Telemetry Framework 1.5——No fix listedCNA
Red HatService Telemetry Framework 1.5——No fix listedCNA
  • Migration Toolkit for Applications 8 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Migration Toolkit for Virtualization VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Migration Toolkit for Virtualization VendorRed Hat Affected — Fixed in — No fix listed CNA
  • OpenShift Service Mesh 3 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Advanced Cluster Management for Kubernetes 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Advanced Cluster Management for Kubernetes 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — Not affected CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform Ansible Core 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform Ansible Core 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform Ansible Core 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Ansible Automation Platform Ansible Core 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Discovery 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Enterprise Linux 10 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Enterprise Linux 8 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Enterprise Linux 9 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat OpenShift Container Platform 4 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat OpenShift Container Platform 5 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Red Hat Satellite 6 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Self-service automation portal 2 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Service Telemetry Framework 1.5 VendorRed Hat Affected — Fixed in — No fix listed CNA
  • Service Telemetry Framework 1.5 VendorRed Hat Affected — Fixed in — No fix listed CNA

CPE names CNA · 15

CPEVersionsRoleVendor
cpe:/a:redhat:migration_toolkit_applications:88—Red Hat
cpe:/a:redhat:migration_toolkit_virtualization:22—Red Hat
cpe:/a:redhat:service_mesh:33—Red Hat
cpe:/a:redhat:acm:22—Red Hat
cpe:/a:redhat:ansible_automation_platform:22—Red Hat
cpe:/a:redhat:ansible_core:22—Red Hat
cpe:/a:redhat:discovery:2::el82—Red Hat
cpe:/a:redhat:enterprise_linux:1010—Red Hat
cpe:/a:redhat:enterprise_linux:88—Red Hat
cpe:/a:redhat:enterprise_linux:99—Red Hat
  • cpe:/a:redhat:migration_toolkit_applications:8 Versions 8 — ·Red Hat
  • cpe:/a:redhat:migration_toolkit_virtualization:2 Versions 2 — ·Red Hat
  • cpe:/a:redhat:service_mesh:3 Versions 3 — ·Red Hat
  • cpe:/a:redhat:acm:2 Versions 2 — ·Red Hat
  • cpe:/a:redhat:ansible_automation_platform:2 Versions 2 — ·Red Hat
  • cpe:/a:redhat:ansible_core:2 Versions 2 — ·Red Hat
  • cpe:/a:redhat:discovery:2::el8 Versions 2 — ·Red Hat
  • cpe:/a:redhat:enterprise_linux:10 Versions 10 — ·Red Hat
  • cpe:/a:redhat:enterprise_linux:8 Versions 8 — ·Red Hat
  • cpe:/a:redhat:enterprise_linux:9 Versions 9 — ·Red Hat
Show 5 more CPE
CPEVersionsRoleVendor
cpe:/a:redhat:openshift:44—Red Hat
cpe:/a:redhat:openshift:55—Red Hat
cpe:/a:redhat:satellite:66—Red Hat
cpe:/a:redhat:ansible_portal:22—Red Hat
cpe:/a:redhat:stf:1.51.5—Red Hat
  • cpe:/a:redhat:openshift:4 Versions 4 — ·Red Hat
  • cpe:/a:redhat:openshift:5 Versions 5 — ·Red Hat
  • cpe:/a:redhat:satellite:6 Versions 6 — ·Red Hat
  • cpe:/a:redhat:ansible_portal:2 Versions 2 — ·Red Hat
  • cpe:/a:redhat:stf:1.5 Versions 1.5 — ·Red Hat

Remediation

The sources list no fixed version for Red Hat Ansible Automation Platform 2. Red Hat reports no fix available for Red Hat Enterprise Linux 9 and other affected products.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Migration Toolkit for Applications 8AffectedNo fix yet: Fix deferred
Migration Toolkit for VirtualizationAffectedNo fix yet: Fix deferred
OpenShift Service Mesh 3AffectedNo fix yet: Fix deferred
Red Hat Advanced Cluster Management for Kubernetes 2AffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform 2AffectedNo fix yet: Fix deferred
Red Hat Ansible Automation Platform Ansible Core 2AffectedNo fix yet: Fix deferred
Red Hat Discovery 2AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 10AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 8AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 9AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 4AffectedNo fix yet: Fix deferred
Red Hat OpenShift Container Platform 5AffectedNo fix yet: Fix deferred
Red Hat Satellite 6AffectedNo fix yet: Fix deferred
Self-service automation portal 2AffectedNo fix yet: Fix deferred
Service Telemetry Framework 1.5AffectedNo fix yet: Fix deferred
Not affected: 1 product
  • Red Hat Ansible Automation Platform 2

Timeline

  1. 2026-11-06 Threatist record created from CVE-2026-123037
  2. 2026-11-06 Alias added: GHSA-cvj4-ggf5-jg54
  3. 2026-11-06 Affected versions changed · Red Hat
  4. 2026-11-06 CVSS score added · Red Hat
  5. 2026-11-06 CISA SSVC decision points changed
  6. 2026-11-06 Priority changed: MEDIUM → LOW
  7. 2026-11-06 Affected versions changed · CNA
  8. 2026-11-06 Affected versions changed · Red Hat

References

  • TI-2019-15875 Protection mechanism failure in Jenkins Pipeline: Groovy Plugin KEVCVSS 3.1CRITICAL 9.9
  • TI-2019-15874 Protection mechanism failure in Jenkins Script Security Plugin KEVCVSS 3.1CRITICAL 9.9
  • TI-2019-08259 Underflow in PHP-FPM can lead to RCE KEVCVSS 3.1CRITICAL 9.8
  • TI-2019-05363 Code injection in Elastic Kibana KEVCVSS 3.1CRITICAL 10.0
  • TI-2019-03949 Out-of-bounds write in ESXi and Horizon DaaS KEVCVSS 3.1CRITICAL 9.8
  • TI-2018-16080 A code execution vulnerability exists in the Stapler web framework used by Jenkins 2.153… KEVCVSS 3.1CRITICAL 9.8
See all 7413 →

Sources