Severity by source
AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:H
Network-reachable admin API (AV:N/AC:L) but administrator privileges required (PR:H); traversal writes outside Pulp's control boundary (S:C) enabling arbitrary file write with high integrity/availability and limited confidentiality impact.
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
Lifecycle Timeline
2DescriptionCVE.org
A path traversal vulnerability was found in pulpcore. The relative_path_validator function only verifies that content paths do not begin with "/" but fails to block directory traversal sequences such as "../" anywhere in the path. An authenticated administrator can craft a relative_path containing embedded traversal sequences (e.g., "looking/normal/../../../../etc/shadow") that escapes the intended export directory during FilesystemExport operations. Because the file content is also user-controlled (uploaded artifact), this allows arbitrary file write to any location writable by the Pulp service user, potentially leading to service compromise or further system exploitation.
AnalysisAI
Arbitrary file write in pulpcore's FilesystemExport feature allows an authenticated administrator to escape the intended export directory via directory-traversal sequences embedded in a user-controlled relative_path. Because the exported file content is also attacker-supplied (an uploaded artifact), the flaw lets a privileged user plant or overwrite arbitrary files anywhere the Pulp service user can write, enabling service compromise or broader host takeover. Rated CVSS 9.0 and reported by Red Hat, it affects pulpcore as embedded in Ansible Automation Platform 2, Satellite 6, and Red Hat Update Infrastructure 4/5; there is no public exploit identified at time of analysis.
Technical ContextAI
Pulp (pulpcore) is a Python-based content-management platform that stores and publishes software artifacts (RPMs, container images, Ansible content) and underpins several Red Hat products. The defect is a CWE-22 Improper Limitation of a Pathname to a Restricted Directory: the relative_path_validator function enforces only that a path does not start with '/', treating that single check as sufficient sanitization. It never normalizes or rejects '../' segments occurring elsewhere in the string, so a value like 'looking/normal/../../../../etc/shadow' passes validation and, during a FilesystemExport operation, resolves outside the designated export root. Combined with attacker-controlled artifact bytes, the traversal converts an intended in-directory write into an arbitrary-location write bounded only by the Pulp service account's filesystem permissions.
RemediationAI
No vendor-released patch version is identified in the provided data - the references point to the Red Hat CVE page (https://access.redhat.com/security/cve/CVE-2026-12701) and Bugzilla 2490703 (https://bugzilla.redhat.com/show_bug.cgi?id=2490703) rather than to a tagged errata, so consult those pages for the fixed pulpcore/product builds and apply them once published (via dnf update for Satellite/RHUI or the AAP update channels). As compensating controls until patched: restrict and audit who holds Pulp administrator/export privileges, since exploitation requires PR:H; avoid or disable FilesystemExport where it is not operationally needed, accepting the trade-off that legitimate filesystem exports will stop working; constrain the Pulp service user's filesystem permissions and consider SELinux confinement so that even a successful traversal cannot write to sensitive paths like /etc; and monitor export requests for relative_path values containing '../' sequences. Network-restrict the Pulp admin API to trusted management segments to reduce the exposure implied by the AV:N vector.
More in Red Hat Satellite 6
View allPrivilege escalation in Foreman (the engine behind Red Hat Satellite 6) lets an authenticated user holding usergroup-man
Jolokia's JSR-160 proxy in multiple Red Hat middleware products allows network-accessible unauthenticated attackers (per
Remote code execution is achievable in Red Hat Foreman and Satellite 6 via command injection in the WebSocket proxy impl
Arbitrary command execution in ansible-core allows an attacker who controls a collection source URI to run commands on a
Session hijacking in the foreman-mcp-server component (shipped with Red Hat Satellite 6) allows local attackers to take
Heap buffer overflow in libsolv allows local attackers to corrupt memory when a vulnerable application processes a malic
Denial of service in libsolv's PGP signature verification (solv_pgpvrfy) allows remote attackers to crash automated pack
Unauthenticated remote file read in RESTEasy's SourceProvider component allows network attackers to exfiltrate arbitrary
Command injection in the rpmuncompress utility of RPM allows local attackers to execute arbitrary commands when a victim
Private SSH key exfiltration in Red Hat Satellite 6 (upstream: Foreman) allows authenticated users holding the 'view_key
Broken access control in Foreman (the upstream engine of Red Hat Satellite 6) permits an authenticated user holding host
Foreman's template revision endpoint, as shipped in Red Hat Satellite 6, exposes historical template contents across org
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allVendor StatusVendor
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-45954
GHSA-j5cg-p988-g42q