CVE-2026-44325: free5GC NRF: type-confusion panic in POST /oauth2/token structured-form parser via Reflect.Set on incompatible types
free5GC’s NRF root SBI endpoint POST /oauth2/token contains a parser-level type-confusion bug family. The handler in NFs/nrf/internal/sbi/api_accesstoken.go reflects over models.NrfAccessTokenAccessTokenReq, special-cases only plain string and NrfNfManagementNfType fields, and treats every other field as if it were a single models.PlmnId. The parsed *models.PlmnId is then assigned with reflect.Value.Set() to whichever field name the attacker put in the form body, which panics whenever the destination field’s real type is incompatible (slice, different struct, primitive). Gin recovery converts each panic into HTTP 500, but the endpoint remains remotely panicable from a single unauthenticated form-encoded request and is repeatedly triggerable across at least 6 confirmed crashing fields.
Note: /oauth2/token is unauthenticated by design (it is the OAuth2 token-issuance endpoint). So this is NOT framed as an auth-bypass finding – it is a parser bug on an intentionally unauthenticated SBI endpoint.
References
- github.com/advisories/GHSA-f8qv-7x5w-qr48
- github.com/free5gc/free5gc
- github.com/free5gc/free5gc/issues/918
- github.com/free5gc/free5gc/security/advisories/GHSA-f8qv-7x5w-qr48
- github.com/free5gc/nrf/commit/f7bc77daa7425506af7569f2e61c2a210f5a0423
- github.com/free5gc/nrf/pull/83
- nvd.nist.gov/vuln/detail/CVE-2026-44325
Code Behaviors & Features
Detect and mitigate CVE-2026-44325 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 →