Description
A path traversal vulnerability was found in pulpcore. The content upload API accepts a 'file_url' parameter that allows users with file repository privileges to specify a local file URL for Pulp to download and store. A URL scheme validation check uses a string prefix comparison that only rejects URLs beginning with 'file://', but Python's URL parser recognizes the 'file:' scheme without double slashes, creating a mismatch between what is validated and what is dispatched to the file downloader. An authenticated user with low-privilege repository permissions can supply a specially crafted URL using relative path traversal sequences to read any file accessible to the Pulp server process. In deployments that include Pulp Container, successful exploitation allows an attacker to read the container registry token signing private key and forge bearer tokens, granting unauthorized access to all private container repositories in the affected registry.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Red Hat | Red Hat Ansible Automation Platform 2.6 for RHEL 9 | — | — |
| Red Hat | Red Hat Satellite 6.16 for RHEL 8 | — | — |
| Red Hat | Red Hat Satellite 6.16 for RHEL 9 | — | — |
| Red Hat | Red Hat Satellite 6.17 for RHEL 9 | — | — |
| Red Hat | Red Hat Satellite 6.18 for RHEL 9 | — | — |
| Red Hat | Red Hat Satellite 6.19 for RHEL 9 | — | — |
| Red Hat | Red Hat Ansible Automation Platform 2.6 | — | — |
| Red Hat | Red Hat Ansible Automation Platform 2.7 | — | — |
| Red Hat | Red Hat Ansible Automation Platform 2 | — | — |
| Red Hat | Red Hat Satellite 6 | — | — |
| Red Hat | Red Hat Update Infrastructure 4 for Cloud Providers | — | — |
| Red Hat | Red Hat Update Infrastructure 5 | — | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Red Hat Satellite Utils 6 | foreman +1 | 3.12.0.26-1.el8sat | RHSA-2026:100120, RHSA-2026:99952, RHSA-2026:99950 |
| Red Hat Satellite Utils 6 | rubygem-hammer_cli_foreman | 3.18.3-1.el9sat | RHSA-2026:100120 |
| Red Hat Satellite Utils 6 | rubygem-http-cookie | 1.1.6-2.el9sat | RHSA-2026:100120 |
| Red Hat Satellite Utils 6 | satellite +1 | 6.19.6-1.el9sat | RHSA-2026:100120 |
| Red Hat Satellite Maintenance 6 | ansible-core | 1:2.16.19-4.el9sat | RHSA-2026:99952, RHSA-2026:99950 |
| Red Hat Satellite Capsule 6 | ansible-core +1 | 1:2.16.19-4.el9sat | RHSA-2026:99952, RHSA-2026:99950 |
| Red Hat Satellite Capsule 6 | createrepo_c +2 | 1.2.6-1.el9pc | RHSA-2026:100120 |
| Red Hat Satellite Capsule 6 | foreman +2 | 3.12.0.26-1.el8sat | RHSA-2026:100120, RHSA-2026:99952, RHSA-2026:99950 |
| Red Hat Satellite Capsule 6 | python-pulp-rpm +1 | 3.26.9-1.el8pc | RHSA-2026:99950, RHSA-2026:99949 |
| Red Hat Satellite Capsule 6 | python-pulpcore +1 | 3.49.39-5.el8pc | RHSA-2026:99950, RHSA-2026:99949 |
| Red Hat Satellite Capsule 6 | python-pyjwt +2 | 2.15.1-1.el8pc | RHSA-2026:99950, RHSA-2026:99949 |
| Red Hat Satellite Capsule 6 | python-pysequoia +1 | 0.1.35-1.el8pc | RHSA-2026:99950, RHSA-2026:99949 |
| Red Hat Satellite Capsule 6 | python3.12-pulp-container | 2.26.19-2.el9pc | RHSA-2026:100120 |
| Red Hat Satellite Capsule 6 | python3.12-pulp-rpm | 3.29.12-1.el9pc | RHSA-2026:100120, RHSA-2026:99952 |
| Red Hat Satellite Capsule 6 | python3.12-pulpcore | 3.73.45-1.el9pc | RHSA-2026:100120, RHSA-2026:99952 |
| Red Hat Satellite Capsule 6 | python3.12-pyjwt +1 | 2.15.1-1.el9pc | RHSA-2026:100120, RHSA-2026:99952 |
| Red Hat Satellite Capsule 6 | python3.12-pysequoia | 0.1.35-1.el9pc | RHSA-2026:100120, RHSA-2026:99952 |
| Red Hat Satellite Capsule 6 | rubygem-http-cookie | 1.1.6-2.el9sat | RHSA-2026:100120 |
| Red Hat Satellite Capsule 6 | rubygem-smart_proxy_container_gateway | 3.5.1-1.el9sat | RHSA-2026:100120 |
| Red Hat Satellite Capsule 6 | rubygem-smart_proxy_dynflow | 0.9.3-2.el8sat | RHSA-2026:100120, RHSA-2026:99952, RHSA-2026:99950 |
| Red Hat Satellite Capsule 6 | satellite +3 | 6.19.6-1.el9sat | RHSA-2026:100120 |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Red Hat Satellite 6 | ansible-core +1 | 1:2.16.19-4.el9sat | RHSA-2026:99952, RHSA-2026:99950 |
| Red Hat Satellite 6 | candlepin +1 | 4.4.26-2.el8sat | RHSA-2026:100120, RHSA-2026:99952, RHSA-2026:99950 |
| Red Hat Satellite 6 | createrepo_c +2 | 1.2.6-1.el9pc | RHSA-2026:100120 |
| Red Hat Satellite 6 | foreman +14 | 3.12.0.26-1.el8sat | RHSA-2026:100120, RHSA-2026:99952, RHSA-2026:99950 |
| Red Hat Satellite 6 | python-pulp-rpm +1 | 3.26.9-1.el8pc | RHSA-2026:99950, RHSA-2026:99949 |
| Red Hat Satellite 6 | python-pulpcore +1 | 3.49.39-5.el8pc | RHSA-2026:99950, RHSA-2026:99949 |
| Red Hat Satellite 6 | python-pyjwt +2 | 2.15.1-1.el8pc | RHSA-2026:99950, RHSA-2026:99949 |
| Red Hat Satellite 6 | python-pysequoia +1 | 0.1.35-1.el8pc | RHSA-2026:99950, RHSA-2026:99949 |
| Red Hat Satellite 6 | python3.12-pulp-container | 2.26.19-2.el9pc | RHSA-2026:100120 |
| Red Hat Satellite 6 | python3.12-pulp-rpm | 3.29.12-1.el9pc | RHSA-2026:100120, RHSA-2026:99952 |
| Red Hat Satellite 6 | python3.12-pulpcore | 3.73.45-1.el9pc | RHSA-2026:100120, RHSA-2026:99952 |
| Red Hat Satellite 6 | python3.12-pyjwt +1 | 2.15.1-1.el9pc | RHSA-2026:100120, RHSA-2026:99952 |
| Red Hat Satellite 6 | python3.12-pysequoia | 0.1.35-1.el9pc | RHSA-2026:100120, RHSA-2026:99952 |
| Red Hat Satellite 6 | rubygem-crass | 1.0.8-1.el8sat | RHSA-2026:100120, RHSA-2026:99952, RHSA-2026:99950 |
| Red Hat Satellite 6 | rubygem-foreman_ansible | 17.0.5-2.el9sat | RHSA-2026:100120 |
| Red Hat Satellite 6 | rubygem-foreman_remote_execution +1 | 16.5.3-3.el9sat | RHSA-2026:100120 |
| Red Hat Satellite 6 | rubygem-foreman_rh_cloud | 13.2.12-1.el9sat | RHSA-2026:100120 |
| Red Hat Satellite 6 | rubygem-foreman_theme_satellite | 16.2.5-1.el9sat | RHSA-2026:100120 |
| Red Hat Satellite 6 | rubygem-hammer_cli_foreman | 3.18.3-1.el9sat | RHSA-2026:100120 |
| Red Hat Satellite 6 | rubygem-http-cookie | 1.1.6-2.el9sat | RHSA-2026:100120 |
| Red Hat Satellite 6 | rubygem-katello | 4.14.0.24-1.el8sat | RHSA-2026:100120, RHSA-2026:99952, RHSA-2026:99950 |
| Red Hat Satellite 6 | rubygem-puma | 6.4.3-2.el8sat | RHSA-2026:99952, RHSA-2026:99950, RHSA-2026:99949 |
| Red Hat Satellite 6 | rubygem-safemode | 1.5.0-3.el8sat | RHSA-2026:100120, RHSA-2026:99952, RHSA-2026:99950 |
| Red Hat Satellite 6 | rubygem-smart_proxy_container_gateway | 3.5.1-1.el9sat | RHSA-2026:100120 |
| Red Hat Satellite 6 | rubygem-smart_proxy_dynflow | 0.9.3-2.el8sat | RHSA-2026:100120, RHSA-2026:99952, RHSA-2026:99950 |
| Red Hat Satellite 6 | satellite +3 | 6.19.6-1.el9sat | RHSA-2026:100120 |
| Red Hat Ansible Automation Platform 2 | automation-gateway-server | 2.6.20261019-1.el9ap | RHSA-2026:87004 |
| Red Hat Ansible Automation Platform 2 | automation-platform-ui | 2.6.15-1.el9ap | RHSA-2026:87004 |
| Red Hat Ansible Automation Platform 2 | python3.12-pulpcore | 3.49.71-1.el9ap | RHSA-2026:87004 |
| Red Hat Ansible Automation Platform 2 | python3.12-pyjwt +1 | 2.14.0-1.el9ap | RHSA-2026:87004 |
Advisories 6
- RHSA-2026:99952 Red Hat Security Advisory: Satellite 6.18.11 Async Update Red Hat Security Advisories (RHSA) · Nov 14, 2026
- RHSA-2026:99949 Red Hat Security Advisory: Satellite 6.16.15 Async Update Red Hat Security Advisories (RHSA) · Nov 14, 2026
- RHSA-2026:99950 Red Hat Security Advisory: Satellite 6.17.13 Async Update Red Hat Security Advisories (RHSA) · Nov 14, 2026
- RHSA-2026:87004 Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Product Security and Bug Fix Update Red Hat Security Advisories (RHSA) · Nov 14, 2026
- RHSA-2026:100120 Red Hat Security Advisory: Satellite 6.19.6 Async Update Red Hat Security Advisories (RHSA) · Nov 13, 2026
- WID-SEC-2026-4111 Red Hat Ansible Automation Platform: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 12, 2026
References
- RHSA-2026:100120 vendor-advisory
- RHSA-2026:87004 vendor-advisory
- RHSA-2026:87120 vendor-advisory
- RHSA-2026:87124 vendor-advisory
- RHSA-2026:99949 vendor-advisory
- RHSA-2026:99950 vendor-advisory
- RHSA-2026:99952 vendor-advisory
- https://access.redhat.com/security/cve/CVE-2026-90959 vdb-entry
- RHBZ#2533037 issue-tracking