<?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>Edx-Enterprise — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/edx-enterprise/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 03 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/edx-enterprise/feed.xml" rel="self" type="application/rss+xml"/><item><title>edx-enterprise SAML Metadata SSRF Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-03-edx-enterprise-ssrf/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-03-edx-enterprise-ssrf/</guid><description>edx-enterprise versions 7.0.2 through 7.0.4 are vulnerable to server-side request forgery (SSRF) via a SAML metadata URL in the `sync_provider_data` endpoint, allowing an authenticated Enterprise Admin to trigger arbitrary HTTP requests from the server.</description><content:encoded><![CDATA[<p>The <code>sync_provider_data</code> endpoint in <code>edx-enterprise</code> is susceptible to a server-side request forgery (SSRF) vulnerability. An authenticated user with the Enterprise Admin role can set the <code>metadata_source</code> field in <code>SAMLProviderConfig</code> to an arbitrary URL via the <code>SAMLProviderConfigViewSet</code> PATCH endpoint. Subsequently, calling the <code>sync_provider_data</code> endpoint triggers a server-side HTTP request to the specified URL. The <code>fetch_metadata_xml()</code> function, responsible for fetching the metadata, lacks proper validation, including HTTPS enforcement, IP filtering, and request timeouts, leading to the vulnerability. This issue affects <code>edx-enterprise</code> versions 7.0.2 through 7.0.4 and was introduced when SAML admin viewsets were migrated from <code>openedx-platform</code>.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker authenticates to the edx-enterprise instance as an Enterprise Admin.</li>
<li>Attacker sends a PATCH request to the <code>SAMLProviderConfigViewSet</code> to modify the <code>metadata_source</code> to a malicious URL (e.g., <code>http://169.254.169.254/latest/meta-data/iam/security-credentials/</code>).</li>
<li>The server stores the malicious URL in the <code>SAMLProviderConfig.metadata_source</code> field.</li>
<li>Attacker sends a POST request to the <code>sync_provider_data</code> endpoint.</li>
<li>The <code>sync_provider_data</code> function retrieves the <code>metadata_source</code> URL from the <code>SAMLProviderConfig</code>.</li>
<li>The <code>fetch_metadata_xml</code> function is called with the malicious URL.</li>
<li><code>fetch_metadata_xml</code> uses <code>requests.get()</code> to make an HTTP request to the attacker-controlled URL.</li>
<li>The server attempts to parse the (likely invalid) XML response. Even if parsing fails, the attacker has successfully triggered an SSRF.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this SSRF vulnerability allows an Enterprise Admin to perform several malicious actions: steal cloud credentials by accessing instance metadata services (AWS, GCP, Azure), scan internal networks by probing hosts and ports behind the firewall, and access internal APIs not exposed to the internet. This can lead to full compromise of the cloud infrastructure and sensitive data exposure.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the recommended patch by upgrading <code>edx-enterprise</code> to a version outside the range of &gt;= 7.0.2, &lt;= 7.0.4 to remediate CVE-2026-42860.</li>
<li>Implement egress filtering at the network level to block outbound connections from the Open edX server to <code>169.254.0.0/16</code> and RFC 1918 ranges as mentioned in the advisory.</li>
<li>Deploy the Sigma rule &ldquo;Detect Outbound Connection to AWS Metadata Endpoint&rdquo; to monitor for connections to the AWS metadata service from the edx-enterprise server.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>ssrf</category><category>saml</category><category>edx-enterprise</category></item></channel></rss>