Skip to main content
← All vulnerabilities
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

Published
Last modified
published
Not listed in CISA KEV
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • python3.12-pulpcore

    Version range not reported

  • ansible-automation-platform-26/hub-rhel9

    Version range not reported

  • ansible-automation-platform-27/hub-rhel9

    Version range not reported

  • ansible-automation-platform-24/hub-rhel8

    Version range not reported

  • ansible-automation-platform-25/hub-rhel8

    Version range not reported

  • pulpcore-selinux

    Version range not reported

  • python3.11-pulpcore

    Version range not reported

  • python3x-pulpcore

    Version range not reported

  • python-pulpcore

    Version range not reported

  • pulpcore-obsolete-packages

    Version range not reported

  • pulpcore-selinux

    Version range not reported

  • python3.12-pulpcore

    Version range not reported

  • python-pulpcore

    Version range not reported

  • rubygem-pulpcore_client

    Version range not reported

  • pulpcore-selinux

    Version range not reported

  • python-pulpcore

    Version range not reported

  • python-pulpcore-client

    Version range not reported

  • python-pulpcore-client

    Version range not reported

  • rhui5/rhua-rhel9

    Version range not reported

  • rhui5/rhua-tp-rhel9

    Version range not reported

References 5

access.redhat.com

bugzilla.redhat.com