← Back to CVE Explorer

CVE-2026-90959

Full vulnerability record from the local CVENow database.

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.

Severity
HIGH
CVSS score
8.1 (v3.1)
Vulnerability status
Awaiting Analysis
Source identifier
Published
2026-09-24 15:17:53.540000
Last modified
2026-10-21 19:17:04.337000
View original CVE JSON
{
  "id": "CVE-2026-90959",
  "sourceIdentifier": "[email protected]",
  "published": "2026-09-24T15:17:53.540",
  "lastModified": "2026-10-21T19:17:04.337",
  "vulnStatus": "Awaiting Analysis",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "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": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "Red Hat",
          "product": "Red Hat Ansible Automation Platform 2.6 for RHEL 9",
          "defaultStatus": "affected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "python3.12-pulpcore",
          "cpes": [
            "cpe:/a:redhat:ansible_automation_platform:2.6::el10",
            "cpe:/a:redhat:ansible_automation_platform:2.6::el9",
            "cpe:/a:redhat:ansible_automation_platform_developer:2.6::el10",
            "cpe:/a:redhat:ansible_automation_platform_developer:2.6::el9",
            "cpe:/a:redhat:ansible_automation_platform_inside:2.6::el9"
          ],
          "versions": [
            {
              "version": "0:3.49.71-1.el9ap",
              "lessThan": "*",
              "versionType": "rpm",
              "status": "unaffected"
            }
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Ansible Automation Platform 2.6",
          "defaultStatus": "affected",
          "collectionURL": "https://catalog.redhat.com/software/containers/",
          "packageName": "ansible-automation-platform-26/hub-rhel9",
          "cpes": [
            "cpe:/a:redhat:ansible_automation_platform:2.6::el9"
          ],
          "versions": [
            {
              "version": "1791947385",
              "lessThan": "*",
              "versionType": "rpm",
              "status": "unaffected"
            }
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Ansible Automation Platform 2.7",
          "defaultStatus": "affected",
          "collectionURL": "https://catalog.redhat.com/software/containers/",
          "packageName": "ansible-automation-platform-27/hub-rhel9",
          "cpes": [
            "cpe:/a:redhat:ansible_automation_platform:2.7::el9"
          ],
          "versions": [
            {
              "version": "1792388670",
              "lessThan": "*",
              "versionType": "rpm",
              "status": "unaffected"
            }
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Ansible Automation Platform 2",
          "defaultStatus": "unaffected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "ansible-automation-platform-24/hub-rhel8",
          "cpes": [
            "cpe:/a:redhat:ansible_automation_platform:2"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Ansible Automation Platform 2",
          "defaultStatus": "affected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "ansible-automation-platform-25/hub-rhel8",
          "cpes": [
            "cpe:/a:redhat:ansible_automation_platform:2"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Ansible Automation Platform 2",
          "defaultStatus": "unaffected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "pulpcore-selinux",
          "cpes": [
            "cpe:/a:redhat:ansible_automation_platform:2"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Ansible Automation Platform 2",
          "defaultStatus": "unaffected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "python3.11-pulpcore",
          "cpes": [
            "cpe:/a:redhat:ansible_automation_platform:2"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Ansible Automation Platform 2",
          "defaultStatus": "unaffected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "python3x-pulpcore",
          "cpes": [
            "cpe:/a:redhat:ansible_automation_platform:2"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Ansible Automation Platform 2",
          "defaultStatus": "unaffected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "python-pulpcore",
          "cpes": [
            "cpe:/a:redhat:ansible_automation_platform:2"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Satellite 6",
          "defaultStatus": "unaffected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "pulpcore-obsolete-packages",
          "cpes": [
            "cpe:/a:redhat:satellite:6"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Satellite 6",
          "defaultStatus": "unaffected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "pulpcore-selinux",
          "cpes": [
            "cpe:/a:redhat:satellite:6"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Satellite 6",
          "defaultStatus": "affected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "python3.12-pulpcore",
          "cpes": [
            "cpe:/a:redhat:satellite:6"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Satellite 6",
          "defaultStatus": "affected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "python-pulpcore",
          "cpes": [
            "cpe:/a:redhat:satellite:6"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Satellite 6",
          "defaultStatus": "unaffected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "rubygem-pulpcore_client",
          "cpes": [
            "cpe:/a:redhat:satellite:6"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Update Infrastructure 4 for Cloud Providers",
          "defaultStatus": "unaffected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "pulpcore-selinux",
          "cpes": [
            "cpe:/a:redhat:rhui:4::el8"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Update Infrastructure 4 for Cloud Providers",
          "defaultStatus": "unaffected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "python-pulpcore",
          "cpes": [
            "cpe:/a:redhat:rhui:4::el8"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Update Infrastructure 4 for Cloud Providers",
          "defaultStatus": "unaffected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "python-pulpcore-client",
          "cpes": [
            "cpe:/a:redhat:rhui:4::el8"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Update Infrastructure 5",
          "defaultStatus": "unaffected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "python-pulpcore-client",
          "cpes": [
            "cpe:/a:redhat:rhui:5::el9"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Update Infrastructure 5",
          "defaultStatus": "affected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "rhui5/rhua-rhel9",
          "cpes": [
            "cpe:/a:redhat:rhui:5::el9"
          ]
        },
        {
          "vendor": "Red Hat",
          "product": "Red Hat Update Infrastructure 5",
          "defaultStatus": "unaffected",
          "collectionURL": "https://access.redhat.com/downloads/content/package-browser/",
          "packageName": "rhui5/rhua-tp-rhel9",
          "cpes": [
            "cpe:/a:redhat:rhui:5::el9"
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N",
          "baseScore": 8.1,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 5.2
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-09-25T17:47:33.555341Z",
          "id": "CVE-2026-90959",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-22"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://access.redhat.com/errata/RHSA-2026:87004",
      "source": "[email protected]"
    },
    {
      "url": "https://access.redhat.com/errata/RHSA-2026:87120",
      "source": "[email protected]"
    },
    {
      "url": "https://access.redhat.com/errata/RHSA-2026:87124",
      "source": "[email protected]"
    },
    {
      "url": "https://access.redhat.com/security/cve/CVE-2026-90959",
      "source": "[email protected]"
    },
    {
      "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2533037",
      "source": "[email protected]"
    }
  ]
}