CVE-2026-12701
Public on
Last Modified:
Description
A path traversal vulnerability was found in pulpcore. The relative_path_validator function only verifies that content paths do not begin with "/" but fails to block directory traversal sequences such as "../" anywhere in the path. An authenticated administrator can craft a relative_path containing embedded traversal sequences (e.g., "looking/normal/../../../../etc/shadow") that escapes the intended export directory during FilesystemExport operations. Because the file content is also user-controlled (uploaded artifact), this allows arbitrary file write to any location writable by the Pulp service user, potentially leading to service compromise or further system exploitation.
Statement
This vulnerability is rated as Important severity because an authenticated administrator can achieve arbitrary file write outside the intended export directory with fully attacker-controlled content. The FilesystemExport API is restricted to admin-level users (in Satellite, authenticated via SSL certificate; in standalone RBAC deployments, admin role only). The Pulp process runs as the "pulp" system user (not root), and file permission bits cannot be controlled by the attacker. However, the "pulp" user typically has write access to service-critical paths, and attack vectors such as cron.d entries (text-parsed, no exec bit required) or overwriting Pulp configuration remain viable depending on filesystem permissions and SELinux policy. Red Hat Satellite and Red Hat Ansible Automation Hub ship pulpcore and are affected. RHUI is not affected because end users do not have access to Pulp content creation APIs.
Mitigation
There is no complete mitigation for this vulnerability. The following measures can reduce risk:
1. If FilesystemExport was never configured on your deployment, you are not affected by this issue.
2. If FilesystemExporters exist in the database, audit them for path traversal sequences ("../"). Existing malicious entries must be cleaned up manually, as the validation functions documented to raise ValidationError do not actually do so in all code paths.
3. Restrict admin-level access to the Pulp API to only trusted operators. Review and audit which accounts have administrator privileges.
4. Ensure SELinux is in enforcing mode on Satellite/Pulp servers to limit the directories the Pulp service user can write to.
5. Monitor filesystem changes outside of expected Pulp directories for signs of exploitation.
Additional information
- This content is not included.Bugzilla 2490703: pulpcore: pulpcore: relative_path_validator bypass via directory traversal in FilesystemExport
- Content from cwe.mitre.org is not included.CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Affected Packages and Issued Red Hat Security Errata
Unless explicitly stated as not affected, all previous versions of packages in any minor update stream of a product listed here should be assumed vulnerable, although may not have been subject to full analysis.
| Products / Services | Components | State | Errata |
|---|---|---|---|
| Red Hat Ansible Automation Platform 2 | python-pulpcore | Not affected | |
| Red Hat Ansible Automation Platform 2.5 for RHEL 8 | python3.12-pulpcore | Fixed | This content is not included.RHSA-2026:42078 |
| Red Hat Ansible Automation Platform 2.5 for RHEL 9 | python3.12-pulpcore | Fixed | This content is not included.RHSA-2026:42078 |
| Red Hat Ansible Automation Platform 2.6 | ansible-automation-platform-26/hub-rhel9 | Fixed | RHSA-2026:42132 |
| Red Hat Ansible Automation Platform 2.6 for RHEL 9 | python3.12-pulpcore | Fixed | This content is not included.RHSA-2026:42079 |
| Red Hat Ansible Automation Platform 2.7 | ansible-automation-platform-27/hub-rhel9 | Fixed | RHSA-2026:42142 |
| Red Hat Satellite 6.16 for RHEL 8 | python-pulpcore | Fixed | RHSA-2026:42082 |
| Red Hat Satellite 6.16 for RHEL 9 | python-pulpcore | Fixed | RHSA-2026:42082 |
| Red Hat Satellite 6.17 for RHEL 9 | python-pulpcore | Fixed | RHSA-2026:42150 |
| Red Hat Satellite 6.18 for RHEL 9 | python3.12-pulpcore | Fixed | RHSA-2026:42151 |
| Red Hat Satellite 6.19 for RHEL 9 | python3.12-pulpcore | Fixed | RHSA-2026:42240 |
| Red Hat Update Infrastructure 4 for Cloud Providers | python-pulpcore | Affected | |
| Red Hat Update Infrastructure 5 | python-pulpcore-client | Affected |
Common Vulnerability Scoring System (CVSS) Score Details
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 Authorities (CNA) source for its products and services (see Red Hat classifications ).
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| CVSS v3 Base Score | 9 | N/A | 9 |
| Attack Vector | Network | N/A | Network |
| Attack Complexity | Low | N/A | Low |
| Privileges Required | High | N/A | High |
| User Interaction | None | N/A | None |
| Scope | Changed | N/A | Changed |
| Confidentiality Impact | Low | N/A | Low |
| Integrity Impact | High | N/A | High |
| Availability Impact | High | N/A | High |
CVSS v3 Vector
Red Hat CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:H
cve.org CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:H
Red Hat CVSS v3 Score Explanation
AV:N - Pulp REST API is network-accessible. AC:L - No race conditions or special prerequisites; FilesystemExport is a standard feature (per CVSS 3.1 spec 2.1.2). PR:H - FilesystemExport restricted to admin-level users (SSL cert auth in Satellite, admin role in RBAC). UI:N - Attacker performs the full chain (content upload + export trigger). S:C - Vulnerable component is Pulp path validation; impacted component is the OS filesystem outside Pulp's export boundary (consistent with FIRST example CVE-2010-0467, Joomla directory traversal). C:L - Write primitive enables planting executable content (cron.d, Python modules) that runs with pulp user privileges and can read files, providing indirect but expected confidentiality impact. I:H - Attacker fully controls file path and content; any location writable by pulp user can be overwritten. A:H - Service disruption via config/data corruption (e.g., overwriting pulp settings, cron.d entries causing resource exhaustion).
Acknowledgements
Red Hat would like to thank Martin Brodeur (Independent security researcher) for reporting this issue.
Frequently Asked Questions
Why is Red Hat's CVSS v3 score or Impact different from other vendors?
For more information, see https://access.redhat.com/solutions/762393.
My product is listed as "Under investigation" or "Affected", when will Red Hat release a fix for this vulnerability?
- "Under investigation" doesn't necessarily mean that the product is affected by this vulnerability. It only means that our Analysis Team is still working on determining whether the product is affected and how it is affected.
- "Affected" means that our Analysis Team has determined that this product is affected by this vulnerability and might release a fix to address this in the near future.
What can I do if my product is listed as "Will not fix"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Upgrade to a supported product version that includes a fix for this vulnerability (recommended).
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
What can I do if my product is listed as "Fix deferred"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
- Red Hat Engineering focuses on addressing high-priority issues based on their complexity or limited lifecycle support. Therefore, lower-priority issues will not receive immediate fixes.
What is a mitigation?
I have a Red Hat product but it is not in the above list, is it affected?
Why is my security scanner reporting my product as vulnerable to this vulnerability even though my product version is fixed or not affected?
My product is listed as "Out of Support Scope". What does this mean?
Not sure what something means? Check out our Security Glossary.