CVE-2026-44324 json
free5GC: UDR nudr-dr DELETE amf-subscriptions panics on missing UE state via nil interface type assertion (single authenticated request)
published 2026-05-08 6 mo ago modified 2026-10-14 25 d ago also EUVD-2026-32574 , GHSA-jqfc-gwj5-3w63 , GO-2026-5478
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 36%
- public exploits
- 0
- none known
Summary
free5GC is an open-source implementation of the 5G core network. Prior to 4.2.2, free5GC's UDR nudr-dr DELETE /subscription-data/{ueId}/{servingPlmnId}/ee-subscriptions/{subsId}/amf-subscriptions handler panics on a single authenticated request against a fresh UDR instance when the supplied ueId does not exist in UESubsCollection. The processor checks value, ok := udrSelf.UESubsCollection.Load(ueId) and sets a 404 USER_NOT_FOUND problem-details on the miss path, but execution continues and immediately runs value.(*udr_context.UESubsData) -- a Go type assertion on a nil interface, which panics with interface conversion: interface {} is nil, not *context.UESubsData. Gin recovery converts the panic into HTTP 500, but the endpoint remains repeatedly panicable. This vulnerability is fixed in 4.2.2.
Patch / fix
- go github.com/free5gc/udr 1.4.3
- free5gc free5gc 4.2.2
- free5gc smf 4.2.2
- free5gc upf 4.2.2
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
- github.com/free5gc/udr@8a1d3c6 commit
- github.com/free5gc/udr#60 pull request
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 5 mo ago
Exploit prediction
0.42% chance of exploitation in the next 30 days, higher than 36% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/free5gc/free5gc/security/advisories/GHSA-jqfc-gwj5-3w63 referenced PoC, tagged "exploit" by a source, unverified
- github.com https://github.com/free5gc/free5gc/issues/920 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/free5gc/udr | <1.4.3 |
1.4.3 |
Affected products
- free5gc free5gc
Classification
References
-
github.com
/free5gc/udr/pull/60
web, issue-tracking, patch
-
github.com
/free5gc/udr/commit/8a1d3c63be99d378806d771f086ff32f1867da99
web, patch
-
github.com
/free5gc/free5gc/security/advisories/GHSA-jqfc-gwj5-3w63
exploit, web, vendor-advisory, advisory
-
github.com
/free5gc/free5gc/issues/920
exploit, web, issue-tracking
-
nvd.nist.gov
/vuln/detail/CVE-2026-44324
advisory
-
github.com
/free5gc/free5gc
package
Sources
- CVE List CVE-2026-44324
- GitHub Advisory GHSA-jqfc-gwj5-3w63
- NVD CVE-2026-44324
- OSV GO-2026-5478
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.