<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Fri, 02 Oct 2026 08:30:47 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-55785</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-55785</link>
      <description>&lt;p&gt;free5GC is an open-source implementation of the 5G core network. Prior to 1.4.5, the AUSF component performs cryptographic authentication comparisons in internal/sbi/processor/ue_authentication.go with ordinary equality helpers. Auth5gAkaComfirmRequestProcedure compares RES* and XRES* with strings.EqualFold and logs the expected XRES* value at INFO level before comparison. EapAuthComfirmRequestProcedure compares AT_MAC and XMAC with bytes.Equal and evaluates XRES == RES with ordinary string equality. These comparisons can return at mismatch-dependent times, although testing did not demonstrate a practical remote timing oracle because of HTTP/SBI timing noise. The INFO log exposes authentication material to operators, log collectors, sidecars, or processes able to read AUSF logs. This issue is fixed in version 1.4.5.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;free5GC is an open-source implementation of the 5G core network. Prior to 1.4.5, the AUSF component performs cryptographic authentication comparisons in internal/sbi/processor/ue_authentication.go with ordinary equality helpers. Auth5gAkaComfirmRequestProcedure compares RES* and XRES* with strings.EqualFold and logs the expected XRES* value at INFO level before comparison. EapAuthComfirmRequestProcedure compares AT_MAC and XMAC with bytes.Equal and evaluates XRES == RES with ordinary string equality. These comparisons can return at mismatch-dependent times, although testing did not demonstrate a practical remote timing oracle because of HTTP/SBI timing noise. The INFO log exposes authentication material to operators, log collectors, sidecars, or processes able to read AUSF logs. This issue is fixed in version 1.4.5.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-55785</guid>
    </item>
    <item>
      <title>GHSA-fp46-6vfw-gc9c — free5GC AUSF uses non-constant-time authentication comparisons and logs XRES* in 5G-AKA</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-fp46-6vfw-gc9c</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/free5gc/ausf&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;The AUSF component of free5GC compares authentication response values with normal Go equality helpers instead of constant-time cryptographic comparison functions.&lt;/p&gt;
&lt;p&gt;Two authentication flows are affected in `internal/sbi/processor/ue_authentication.go`:&lt;/p&gt;
&lt;p&gt;1. 5G-AKA confirmation compares `RES*` and `XRES*` with `strings.EqualFold()`.
2. EAP-AKA&amp;#39; confirmation compares `AT_MAC` with `bytes.Equal()` and compares `XRES` and `RES` with `==`.&lt;/p&gt;
&lt;p&gt;These functions are not designed to be constant-time cryptographic comparators and may return earlier depending on the location of the first mismatch.&lt;/p&gt;
&lt;p&gt;Additionally, the 5G-AKA confirmation path logs both the received `res*` and the expected `Xres*` at INFO level immediately before comparing them. The `XRES*` value is authentication material and should not be written to application logs.&lt;/p&gt;
&lt;p&gt;The timing side channel was confirmed as a code issue, but practical exploitation over HTTP was not demonstrated in the lab because the comparator-level signal is much smaller than HTTP/SBI noise. The `XRES*` logging issue is directly observable in AUSF logs.&lt;/p&gt;
&lt;p&gt;Confirmed on `github.com/free5gc/ausf` v1.4.4 and current main as of the May 2026 analysis.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;#### 5G-AKA: `RES*` / `XRES*`&lt;/p&gt;
&lt;p&gt;In `Auth5gAkaComfirmRequestProcedure()`, the AUSF logs both values and then compares them with `strings.EqualFold()`:&lt;/p&gt;
&lt;p&gt;```go
// internal/sbi/processor/ue_authentication.go
logger.Auth5gAkaLog.Infof(&amp;#34;res*: %x\nXres*: %x\n&amp;#34;,
    updateConfirmationData.ResStar,…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/free5gc/ausf&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;The AUSF component of free5GC compares authentication response values with normal Go equality helpers instead of constant-time cryptographic comparison functions.&lt;/p&gt;
&lt;p&gt;Two authentication flows are affected in `internal/sbi/processor/ue_authentication.go`:&lt;/p&gt;
&lt;p&gt;1. 5G-AKA confirmation compares `RES*` and `XRES*` with `strings.EqualFold()`.
2. EAP-AKA&amp;#39; confirmation compares `AT_MAC` with `bytes.Equal()` and compares `XRES` and `RES` with `==`.&lt;/p&gt;
&lt;p&gt;These functions are not designed to be constant-time cryptographic comparators and may return earlier depending on the location of the first mismatch.&lt;/p&gt;
&lt;p&gt;Additionally, the 5G-AKA confirmation path logs both the received `res*` and the expected `Xres*` at INFO level immediately before comparing them. The `XRES*` value is authentication material and should not be written to application logs.&lt;/p&gt;
&lt;p&gt;The timing side channel was confirmed as a code issue, but practical exploitation over HTTP was not demonstrated in the lab because the comparator-level signal is much smaller than HTTP/SBI noise. The `XRES*` logging issue is directly observable in AUSF logs.&lt;/p&gt;
&lt;p&gt;Confirmed on `github.com/free5gc/ausf` v1.4.4 and current main as of the May 2026 analysis.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;#### 5G-AKA: `RES*` / `XRES*`&lt;/p&gt;
&lt;p&gt;In `Auth5gAkaComfirmRequestProcedure()`, the AUSF logs both values and then compares them with `strings.EqualFold()`:&lt;/p&gt;
&lt;p&gt;```go
// internal/sbi/processor/ue_authentication.go
logger.Auth5gAkaLog.Infof(&amp;#34;res*: %x\nXres*: %x\n&amp;#34;,
    updateConfirmationData.ResStar,…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-fp46-6vfw-gc9c</guid>
    </item>
  </channel>
</rss>
