CVE-2026-103754
Description
A flaw was found in ansible-runner. The unstream_dir() function, which receives and extracts a streamed zip archive on the worker side of the ansible-runner transmit/worker protocol, re-creates symbolic links from archive content without validating the link target and applies chmod() and utime() to an unsanitized filesystem path derived from the archive member name. A crafted archive processed by a worker that consumes attacker-influenced input can create files, create symbolic links, or change permissions outside the intended target directory, which can be leveraged toward code execution.
Statement
A moderate severity flaw was found in ansible-runner, affecting the automation-controller component of Red Hat Ansible Automation Platform. The unstream_dir() function, used on the worker side of the ansible-runner transmit/worker protocol, extracts a streamed zip archive while re-creating symbolic links from the archive content without validating their targets, and applies chmod()/utime() to an unsanitized filesystem path derived from the archive member names. A crafted archive processed by a worker that consumes attacker-influenced input can therefore create files, create symbolic links, or change permissions outside the intended target directory, which can be leveraged toward code execution. In the standard Ansible Automation Platform deployment the transmit stream is produced by the trusted controller and the controller-to-executor path is authenticated, so there the issue is primarily a defense-in-depth hardening concern; deployments that feed untrusted input into ansible-runner's worker path are directly exposed. Red Hat and the upstream CVE record both rate this flaw as moderate impact (CVSS 3.1 score 5.9), so there is no difference from the upstream severity assessment. A fix is deferred for the affected Ansible Automation Platform streams because exploitation requires attacker-influenced input to reach the worker's extraction path, which the standard trusted controller-to-executor topology prevents; the residual risk is limited to deployments that pass untrusted input into ansible-runner's worker path until a fix is applied. The ansible_automation_platform-2.4 stream is out of support scope and will not receive an update for this issue.
Mitigation
Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability. The upstream ansible-runner project has a fix available via the referenced pull request; upgrading to a release that includes the upstream fix is the recommended resolution. As an additional measure, ensuring that only the trusted automation-controller produces the transmit stream consumed by ansible-runner workers (the standard authenticated Ansible Automation Platform topology) limits exposure to this flaw.
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
The following CVSS metrics and score provided are preliminary and subject to review.
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 5.9 | N/A | 5.9 |
| Attack Vector | Network | N/A | Network |
| Attack Complexity | High | N/A | High |
| Privileges Required | Low | N/A | Low |
| User Interaction | None | N/A | None |
| Scope | Unchanged | N/A | Unchanged |
| Confidentiality | None | N/A | None |
| Integrity Impact | High | N/A | High |
| Availability Impact | Low | N/A | Low |
Vector
Red Hat: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L
cve.org: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L
Acknowledgements
Red Hat would like to thank Liqiang Ji (SQUARE Research Group, Institute of Software, Chinese Academy of Sciences (ISCAS)) for reporting this issue.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.