<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Pulp - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/pulp/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Mon, 20 Jul 2026 15:17:58 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/pulp/feed.xml" rel="self" type="application/rss+xml"/><item><title>Path Traversal Vulnerability in Pulpcore (CVE-2026-12701)</title><link>https://feed.craftedsignal.io/briefs/2026-07-path-traversal-pulpcore/</link><pubDate>Mon, 20 Jul 2026 15:17:58 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-path-traversal-pulpcore/</guid><description>An authenticated administrator can exploit a path traversal vulnerability in the 'relative_path_validator' function within 'pulpcore'. During 'FilesystemExport' operations, specially crafted 'relative_path' values containing directory traversal sequences (e.g., "../") can bypass validation, leading to arbitrary file writes. This allows an attacker to write files to any location writable by the Pulp service user, such as '/etc/shadow', potentially leading to service compromise, privilege escalation, or further system exploitation.</description><content:encoded><![CDATA[<p>A critical path traversal vulnerability, identified as CVE-2026-12701, has been discovered in Pulpcore, a component of the Pulp content management platform. The vulnerability resides in the <code>relative_path_validator</code> function, which, while designed to prevent content paths from starting with a slash (<code>/</code>), fails to adequately block directory traversal sequences such as <code>../</code> when embedded deeper within a path. This flaw allows an authenticated administrator to craft a malicious <code>relative_path</code> during <code>FilesystemExport</code> operations. By injecting traversal sequences (e.g., &quot;looking/normal/../../../../etc/shadow&quot;), an attacker can escape the intended export directory. Coupled with the ability to upload user-controlled file content (artifacts), this vulnerability facilitates arbitrary file write to any location on the system writable by the Pulp service user. Successful exploitation could lead to service compromise, privilege escalation, or further system exploitation, making it a severe risk for affected organizations.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li><strong>Initial Access</strong>: An attacker obtains or already possesses authenticated administrator credentials for a Pulpcore instance.</li>
<li><strong>Prepare Malicious Content</strong>: The attacker prepares a malicious artifact (e.g., a web shell, a script, or a modified system configuration file like <code>/etc/shadow</code>) and uploads it to Pulpcore.</li>
<li><strong>Initiate Export Operation</strong>: The attacker initiates a <code>FilesystemExport</code> operation through the Pulpcore API or user interface.</li>
<li><strong>Craft Traversal Path</strong>: The attacker crafts a <code>relative_path</code> parameter for the export containing directory traversal sequences, such as <code>looking/normal/../../../../etc/shadow</code>, designed to escape the default export directory.</li>
<li><strong>Bypass Validation</strong>: The vulnerable <code>relative_path_validator</code> function in Pulpcore processes the crafted path, but due to its flawed logic, it fails to identify and block the embedded <code>../</code> sequences.</li>
<li><strong>Arbitrary File Write</strong>: Pulpcore proceeds to write the previously uploaded malicious artifact to the arbitrary location specified by the attacker's crafted <code>relative_path</code>, leveraging the privileges of the Pulp service user.</li>
<li><strong>Achieve System Compromise</strong>: The successful arbitrary file write allows the attacker to modify critical system files (like <code>/etc/shadow</code> for privilege escalation) or establish persistence mechanisms, leading to service compromise or further system exploitation.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>A successful exploitation of CVE-2026-12701 results in arbitrary file write capabilities on the system running Pulpcore. This directly allows an attacker to overwrite or create files in sensitive locations, such as <code>/etc/shadow</code> for modifying user accounts or gaining root access, or injecting malicious scripts for persistence. The immediate impact is service compromise, but it can quickly escalate to full system takeover, unauthorized data access, or the deployment of additional malicious payloads. The vulnerability has a CVSS v3.1 base score of 9.0, indicating critical severity and a high potential for devastating impact on the confidentiality, integrity, and availability of affected systems.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Patch CVE-2026-12701 by updating Pulpcore to the latest security-hardened version immediately to remediate the path traversal vulnerability.</li>
<li>Review server and application logs for the Pulp service user for any unusual file write activities, especially to sensitive system directories such as <code>/etc</code>, <code>/var</code>, or <code>/usr/local</code>.</li>
<li>Monitor web server logs (e.g., Apache, Nginx) for the Pulpcore application for <code>FilesystemExport</code> operations or similar API calls that include suspicious <code>relative_path</code> parameters containing directory traversal sequences like <code>../</code> or their URL-encoded equivalents.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>path-traversal</category><category>vulnerability</category><category>linux</category><category>pulpcore</category></item></channel></rss>