CVE-2026-55785: free5GC AUSF uses non-constant-time authentication comparisons and logs XRES* in 5G-AKA
The AUSF component of free5GC compares authentication response values with normal Go equality helpers instead of constant-time cryptographic comparison functions.
Two authentication flows are affected in internal/sbi/processor/ue_authentication.go:
- 5G-AKA confirmation compares
RES*andXRES*withstrings.EqualFold(). - EAP-AKA’ confirmation compares
AT_MACwithbytes.Equal()and comparesXRESandRESwith==.
These functions are not designed to be constant-time cryptographic comparators and may return earlier depending on the location of the first mismatch.
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.
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.
Confirmed on github.com/free5gc/ausf v1.4.4 and current main as of the May 2026 analysis.
References
Code Behaviors & Features
Detect and mitigate CVE-2026-55785 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →