CVE-2026-103870
Pulp-rpm: distribution tree publish creates directories from .treeinfo ids
A flaw was found in pulp-rpm when it publishes a distribution tree. Addon and variant ids from .treeinfo are used as directory names. A user who can sync or upload that tree can make the publish task create a new directory outside the task work area and write that tree's repository metadata and packages there, as the Pulp worker user. An existing file or directory is not replaced. The flaw does not disclose data and does not stop the service.
Fixes and workarounds
Workaround
Syncing distribution trees only from a trusted upstream avoids a crafted .treeinfo from that source. An account that can upload a tree directly can still supply the file. Otherwise, Red Hat is not aware of a practical temporary workaround that fully mitigates this issue or meets Red Hat Product Security's standards for usability, deployment, applicability, or stability. Customers are advised to apply the relevant security updates when they become available.
Source: CNA: redhatAffected products and versions
| Product | Versions | Authority |
|---|---|---|
| Red Hat Satellite 6.16 for RHEL 8 Red Hat python-pulp-rpm
https://access.redhat.com/downloads/content/package-browser/ |
≥ 0:3.26.9-1.el8pc; < * (unaffected, rpm)
Other versions: affected |
CNA: redhat |
| Red Hat Satellite 6.16 for RHEL 9 Red Hat python-pulp-rpm
https://access.redhat.com/downloads/content/package-browser/ |
≥ 0:3.26.9-1.el9pc; < * (unaffected, rpm)
Other versions: affected |
CNA: redhat |
| Red Hat Satellite 6.17 for RHEL 9 Red Hat python-pulp-rpm
https://access.redhat.com/downloads/content/package-browser/ |
≥ 0:3.27.14-1.el9pc; < * (unaffected, rpm)
Other versions: affected |
CNA: redhat |
| Red Hat Satellite 6.18 for RHEL 9 Red Hat python3.12-pulp-rpm
https://access.redhat.com/downloads/content/package-browser/ |
≥ 0:3.29.12-1.el9pc; < * (unaffected, rpm)
Other versions: affected |
CNA: redhat |
| Red Hat Update Infrastructure 4 for Cloud Providers Red Hat python-pulp-rpm
https://access.redhat.com/downloads/content/package-browser/ |
Range not reported
Other versions: unaffected |
CNA: redhat |
| Red Hat Update Infrastructure 4 for Cloud Providers Red Hat python-pulp-rpm-client
https://access.redhat.com/downloads/content/package-browser/ |
Range not reported
Other versions: unaffected |
CNA: redhat |
| Red Hat Update Infrastructure 5 Red Hat python-pulp-rpm-client
https://access.redhat.com/downloads/content/package-browser/ |
Range not reported
Other versions: unaffected |
CNA: redhat |
| Red Hat Update Infrastructure 5 Red Hat rhui5/rhua-rhel9
https://access.redhat.com/downloads/content/package-browser/ |
Range not reported
Other versions: unaffected |
CNA: redhat |
| Red Hat Update Infrastructure 5 Red Hat rhui5/rhua-tp-rhel9
https://access.redhat.com/downloads/content/package-browser/ |
Range not reported
Other versions: unaffected |
CNA: redhat |
Version ranges are source assertions. Check the vendor advisory and your installed configuration before determining exposure.
CVSS assessments
| Version / score | Vector | Authority |
|---|---|---|
| 3.1 / 5.0 medium |
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N | CNA: redhat |
Exploit evidence
No exploit evidence in collected sources. This is not proof of no exploitation.
References
- https://access.redhat.com/errata/RHSA-2026:99949CNA: redhat · vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:99950CNA: redhat · vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:99952CNA: redhat · vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/security/cve/CVE-2026-103870CNA: redhat · vdb-entry, x_refsource_REDHAT
- https://bugzilla.redhat.com/show_bug.cgi?id=2544606CNA: redhat · issue-tracking, x_refsource_REDHAT
For agents and automation
Read public disclosures for free as Markdown or JSON. Compatible browsers also expose native WebMCP tools to search disclosures, read this page, and discover API access.
Use the ontology-linked Cyber API with x402 pay per request, or a Y2 Pro or Elite API key with the intel:cyber scope.
Endpoints and access details
https://api.y2.dev/api/v2/cyber/cveshttps://api.y2.dev/api/v2/cyber/cves/{cveId}
A workspace owner or admin can create a Pro or Elite API key. Send Authorization: Bearer <Y2_API_KEY> from your trusted agent runtime.
For x402, omit Authorization and read the HTTP 402 payment challenge before signing a retry. Public browser tools do not make payments.