<?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>@Haxtheweb/Open-Apis — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/@haxtheweb/open-apis/</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>Tue, 19 May 2026 14:46:48 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/@haxtheweb/open-apis/feed.xml" rel="self" type="application/rss+xml"/><item><title>HAX open-apis: Credential Theft via Server-Side Request Forgery (SSRF) in open-apis</title><link>https://feed.craftedsignal.io/briefs/2026-05-ssrf-in-open-apis/</link><pubDate>Tue, 19 May 2026 14:46:48 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-ssrf-in-open-apis/</guid><description>Multiple functions in open-apis conduct substring-only matching to validate hostnames, allowing an attacker to perform Server-Side Request Forgery (SSRF) and capture authentication credentials by redirecting requests to an attacker-controlled endpoint.</description><content:encoded><![CDATA[<p>The open-apis package by haxtheweb contains a vulnerability related to insufficient hostname validation. Specifically, the functions in <code>cacheAddress.js</code>, <code>JOSHelpers.js</code>, and <code>elmslnToSite.js</code> use substring matching to validate hostnames when deciding whether to send basic authorization headers. This flawed logic allows attackers to craft API calls that include a valid substring, but redirect the request to an attacker-controlled domain, effectively capturing the credentials intended for the legitimate domains. This vulnerability affects versions of <code>@haxtheweb/open-apis</code> prior to 26.0.0 and poses a risk of internal data and credential exfiltration.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies a vulnerable endpoint using <code>cacheAddress.js</code>, <code>JOSHelpers.js</code>, or <code>elmslnToSite.js</code>.</li>
<li>The attacker crafts a malicious API call to the vulnerable endpoint.</li>
<li>The API call includes a substring that matches a hard-coded, legitimate site name.</li>
<li>The attacker appends the matched substring to an attacker-controlled domain within the API call.</li>
<li>The vulnerable function performs a server-side request to the attacker-controlled domain.</li>
<li>The request includes authentication credentials intended for the legitimate domain.</li>
<li>The attacker captures the transmitted authentication credentials from their controlled server.</li>
<li>The attacker uses the stolen credentials to access unreleased LMS content on other systems.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability allows for the exfiltration of sensitive internal data, including authentication credentials. The captured credentials can grant unauthorized access to other systems, including unreleased LMS content. The vulnerability affects all users of <code>@haxtheweb/open-apis</code> versions prior to 26.0.0, with the impact being the potential compromise of internal systems and data.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the <code>@haxtheweb/open-apis</code> package to version 26.0.0 or later to patch the vulnerability as described in <a href="https://github.com/advisories/GHSA-4fg7-f244-3j49">GHSA-4fg7-f244-3j49</a>.</li>
<li>Deploy the Sigma rule &ldquo;Detect SSRF via Substring Matching in open-apis&rdquo; to identify attempts to exploit this vulnerability.</li>
<li>Review and audit internal APIs that handle sensitive credentials to ensure proper hostname validation is implemented to prevent similar SSRF attacks.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>ssrf</category><category>credential-theft</category><category>open-apis</category></item></channel></rss>