Pulpcore: pulpcore: relative_path_validator bypass via directory traversal in filesystemexport
Summary
| CVE | CVE-2026-12701 |
|---|---|
| State | PUBLISHED |
| Assigner | redhat |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-07-20 15:16:34 UTC |
| Updated | 2026-07-22 19:16:54 UTC |
| 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. |
Risk And Classification
Primary CVSS: v3.1 9 CRITICAL from [email protected]
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:H
EPSS: 0.007590000 probability, percentile 0.513830000 (date 2026-07-22)
Problem Types: CWE-22 | CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 3.1 | [email protected] | Secondary | 9 | CRITICAL | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:H |
| 3.1 | CNA | CVSS | 9 | CRITICAL | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:H |
CVSS v3.1 Breakdown
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:H
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Red Hat | Red Hat Ansible Automation Platform 2.5 For RHEL 8 | unaffected 0:3.49.63-2.el8ap * rpm | Not specified |
| CNA | Red Hat | Red Hat Ansible Automation Platform 2.5 For RHEL 9 | unaffected 0:3.49.63-2.el9ap * rpm | Not specified |
| CNA | Red Hat | Red Hat Ansible Automation Platform 2.6 For RHEL 9 | unaffected 0:3.49.63-2.el9ap * rpm | Not specified |
| CNA | Red Hat | Red Hat Satellite 6.16 For RHEL 8 | unaffected 0:3.49.39-2.el8pc * rpm | Not specified |
| CNA | Red Hat | Red Hat Satellite 6.16 For RHEL 8 | unaffected 0:3.49.39-2.el8pc * rpm | Not specified |
| CNA | Red Hat | Red Hat Satellite 6.16 For RHEL 9 | unaffected 0:3.49.39-2.el9pc * rpm | Not specified |
| CNA | Red Hat | Red Hat Satellite 6.16 For RHEL 9 | unaffected 0:3.49.39-2.el9pc * rpm | Not specified |
| CNA | Red Hat | Red Hat Satellite 6.17 For RHEL 9 | unaffected 0:3.63.21-2.el9pc * rpm | Not specified |
| CNA | Red Hat | Red Hat Satellite 6.17 For RHEL 9 | unaffected 0:3.63.21-2.el9pc * rpm | Not specified |
| CNA | Red Hat | Red Hat Satellite 6.18 For RHEL 9 | unaffected 0:3.73.30-2.el9pc * rpm | Not specified |
| CNA | Red Hat | Red Hat Satellite 6.18 For RHEL 9 | unaffected 0:3.73.30-2.el9pc * rpm | Not specified |
| CNA | Red Hat | Red Hat Satellite 6.19 For RHEL 9 | unaffected 0:3.85.15-5.el9pc * rpm | Not specified |
| CNA | Red Hat | Red Hat Satellite 6.19 For RHEL 9 | unaffected 0:3.85.15-5.el9pc * rpm | Not specified |
| CNA | Red Hat | Red Hat Ansible Automation Platform 2.6 | unaffected 1783979593 * rpm | Not specified |
| CNA | Red Hat | Red Hat Ansible Automation Platform 2.7 | unaffected 1783919521 * rpm | Not specified |
| CNA | Red Hat | Red Hat Ansible Automation Platform 2 | Not specified | Not specified |
| CNA | Red Hat | Red Hat Update Infrastructure 4 For Cloud Providers | Not specified | Not specified |
| CNA | Red Hat | Red Hat Update Infrastructure 5 | Not specified | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| access.redhat.com/errata/RHSA-2026:42132 | [email protected] | access.redhat.com | |
| access.redhat.com/errata/RHSA-2026:42142 | [email protected] | access.redhat.com | |
| access.redhat.com/errata/RHSA-2026:42240 | [email protected] | access.redhat.com | |
| access.redhat.com/errata/RHSA-2026:42151 | [email protected] | access.redhat.com | |
| access.redhat.com/errata/RHSA-2026:42082 | [email protected] | access.redhat.com | |
| access.redhat.com/errata/RHSA-2026:42150 | [email protected] | access.redhat.com | |
| access.redhat.com/errata/RHSA-2026:42079 | [email protected] | access.redhat.com | |
| access.redhat.com/security/cve/CVE-2026-12701 | [email protected] | access.redhat.com | |
| bugzilla.redhat.com/show_bug.cgi | [email protected] | bugzilla.redhat.com | |
| access.redhat.com/errata/RHSA-2026:42078 | [email protected] | access.redhat.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Vendor Comments And Credit
Discovery Credit
CNA: Red Hat would like to thank Martin Brodeur (Independent security researcher) for reporting this issue. (en)
Additional Advisory Data
| Source | Time | Event |
|---|---|---|
| CNA | 2026-04-24T02:44:10.000Z | Reported to Red Hat. |
| CNA | 2026-07-20T13:00:00.000Z | Made public. |
Workarounds
CNA: 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.