<?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>Udm — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/udm/</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>Thu, 07 May 2026 02:09:58 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/udm/feed.xml" rel="self" type="application/rss+xml"/><item><title>Free5GC UDM Information Disclosure via Malformed Request</title><link>https://feed.craftedsignal.io/briefs/2024-01-free5gc-udm-info-disclosure/</link><pubDate>Thu, 07 May 2026 02:09:58 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-free5gc-udm-info-disclosure/</guid><description>The free5GC UDM component fails to validate the `supi` path parameter in six GET handlers, allowing an unauthenticated attacker to inject control characters and trigger a `500 Internal Server Error` that exposes internal infrastructure details.</description><content:encoded><![CDATA[<p>The free5GC UDM (Unified Data Management) component, specifically versions up to and including v1.4.2, is vulnerable to an information disclosure vulnerability. The vulnerability lies in the <code>nudm-sdm</code> service, where six GET handlers lack proper validation of the <code>supi</code> path parameter. This omission allows an unauthenticated attacker to inject control characters into the <code>supi</code> parameter. Consequently, the UDM forwards a malformed request to UDR (Unified Data Repository), leading to a <code>500 Internal Server Error</code>. This error response inadvertently exposes internal infrastructure details, including the UDR hostname and port, full internal API path structure, UDR API version, and internal service naming conventions. This vulnerability is a missed fix of CVE-2026-27642.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker sends a GET request to a vulnerable UDM endpoint (<code>/nudm-sdm/v2/:supi/smf-select-data</code>, <code>/nudm-sdm/v2/:supi/nssai</code>, <code>/nudm-sdm/v2/:supi/trace-data</code>, <code>/nudm-sdm/v2/:supi/sm-data</code>, <code>/nudm-sdm/v2/:supi</code>, or <code>/nudm-sdm/v2/:supi/ue-context-in-smf-data</code>).</li>
<li>The <code>supi</code> parameter in the URL contains injected control characters (e.g., <code>%00</code>).</li>
<li>The UDM fails to validate the <code>supi</code> parameter using <code>validator.IsValidSupi()</code>.</li>
<li>The UDM constructs a URL to the UDR, incorporating the malformed <code>supi</code>.</li>
<li>Go&rsquo;s <code>net/url</code> parser rejects the malformed URL containing control characters.</li>
<li>The UDM catches the parsing error.</li>
<li>The UDM responds with a <code>500 SYSTEM_FAILURE</code> error, including internal details in the <code>detail</code> field.</li>
<li>The attacker receives the <code>500</code> response containing sensitive internal information.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>An unauthenticated remote attacker can obtain internal infrastructure details by sending a crafted GET request to a vulnerable UDM endpoint. This information includes the internal UDR hostname and port, the full internal API path structure, the UDR API version, and the internal service naming convention. This information can then be used to facilitate further attacks against the UDR or other internal 5G core components.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the fix recommended by the vendor to include <code>validator.IsValidSupi()</code> to all six affected handlers in <code>internal/sbi/api_subscriberdatamanagement.go</code> following the pattern already used in <code>HandleGetAmData</code>.</li>
<li>Monitor web server logs for HTTP 500 responses from UDM endpoints containing &ldquo;net/url: invalid control character in URL&rdquo; in the response body (see example in content).</li>
<li>Deploy the Sigma rule detecting HTTP 500 responses with the string <code>net/url: invalid control character in URL</code> in the response body.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>information-disclosure</category><category>input-validation</category><category>free5GC</category></item></channel></rss>