CVE-2026-90959: Pulpcore: pulpcore: file:// scheme allowlist bypass in content upload file_url field enables arbitrary file read and pulp container registry signing key theft
Telemetry drift only. No threshold crossed and no authority ruling changed.
CVE record, CISA KEV and EPSS as of 2026-10-18.
CVEs like this one computed, by meaning
What to do now held facts and links
- No fix version is held. The CNA's first reference is the place to look: access.redhat.com
- Record your decision, dated and frozen with today's evidence: patch by a date · mitigated by a compensating control · deferred · accepted the risk · not affected
- Check your version against the ranges this record publishes.
What it is stated by the CNA
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. …
- weakness
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
- affected
- Red Hat Ansible Automation Platform 2; Red Hat Satellite 6; Red Hat Update Infrastructure 4 for Cloud Providers; Red Hat Update Infrastructure 5
- versions
- No affected-version range in held sources.
- fixed in
- No fix version in held sources.
- severity
- 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
- assigned by
- redhat
- published
- 2026-09-24
check us access.redhat.com bugzilla.redhat.com
Exploit code held, dated
- exploit code
- None held in the PoC-in-GitHub feed. A public repository changes this brief.
Outside the record researched, cited
This section reads the record's references and adds cited findings from outside it. It needs an account. Everything above is held facts and is complete without it.
What would change this brief held, dated
- CISA KEV
- Not listed in the catalogue we hold. A listing changes this brief.
- exploit probability
- 0.00 on 2026-09-28 (FIRST's EPSS, a probability and not evidence of exploitation). Next band line: 10% (0.10). Crossing a line changes this brief.
- fix
- No fix version is held. One published by the CNA or OSV changes this brief.
How to check this
Every value above is held with two dates: when it was true upstream (as_of) and when we recorded it (tx_from). Re-derive the exploit probability as it stood on any date:
SELECT value, source, source_version, as_of, tx_from
FROM volatile_valid_as_of('CVE-2026-90959', '2026-10-31T23:59:59.999999Z', now());