{"api_version":"1","generated_at":"2026-06-02T03:23:04+00:00","cve":"CVE-2026-44325","urls":{"html":"https://cve.report/CVE-2026-44325","api":"https://cve.report/api/cve/CVE-2026-44325.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-44325","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-44325"},"summary":{"title":"free5GC: NRF POST /oauth2/token structured-form parser type-confusion panic family (Reflect.Set on incompatible types)","description":"free5GC is an open-source implementation of the 5G core network. Prior to 4.2.2, 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. This vulnerability is fixed in 4.2.2.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-05-27 17:16:37","updated_at":"2026-05-28 16:51:24"},"problem_types":["CWE-20","CWE-755","CWE-843","CWE-20 CWE-20: Improper Input Validation","CWE-755 CWE-755: Improper Handling of Exceptional Conditions","CWE-843 CWE-843: Access of Resource Using Incompatible Type ('Type Confusion')"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"references":[{"url":"https://github.com/free5gc/nrf/commit/f7bc77daa7425506af7569f2e61c2a210f5a0423","name":"https://github.com/free5gc/nrf/commit/f7bc77daa7425506af7569f2e61c2a210f5a0423","refsource":"security-advisories@github.com","tags":["Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/free5gc/free5gc/issues/918","name":"https://github.com/free5gc/free5gc/issues/918","refsource":"security-advisories@github.com","tags":["Exploit","Issue Tracking"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/free5gc/free5gc/security/advisories/GHSA-f8qv-7x5w-qr48","name":"https://github.com/free5gc/free5gc/security/advisories/GHSA-f8qv-7x5w-qr48","refsource":"134c704f-9b21-4f2e-91b3-4a467353bcc0","tags":["Exploit","Vendor Advisory"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/free5gc/nrf/pull/83","name":"https://github.com/free5gc/nrf/pull/83","refsource":"security-advisories@github.com","tags":["Issue Tracking","Patch"],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-44325","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-44325","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"free5gc","product":"free5gc","version":"affected < 4.2.2","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2026","cve_id":"44325","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"free5gc","cpe5":"free5gc","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"44325","cve":"CVE-2026-44325","epss":"0.000920000","percentile":"0.258200000","score_date":"2026-06-01","updated_at":"2026-06-02 00:05:20"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-44325","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-05-27T17:50:19.740036Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-05-27T17:50:51.669Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"references":[{"tags":["exploit"],"url":"https://github.com/free5gc/free5gc/security/advisories/GHSA-f8qv-7x5w-qr48"}],"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"free5gc","vendor":"free5gc","versions":[{"status":"affected","version":"< 4.2.2"}]}],"descriptions":[{"lang":"en","value":"free5GC is an open-source implementation of the 5G core network. Prior to 4.2.2, 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. This vulnerability is fixed in 4.2.2."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-20","description":"CWE-20: Improper Input Validation","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-755","description":"CWE-755: Improper Handling of Exceptional Conditions","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-843","description":"CWE-843: Access of Resource Using Incompatible Type ('Type Confusion')","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-05-27T15:43:34.136Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/free5gc/free5gc/security/advisories/GHSA-f8qv-7x5w-qr48","tags":["x_refsource_CONFIRM"],"url":"https://github.com/free5gc/free5gc/security/advisories/GHSA-f8qv-7x5w-qr48"},{"name":"https://github.com/free5gc/free5gc/issues/918","tags":["x_refsource_MISC"],"url":"https://github.com/free5gc/free5gc/issues/918"},{"name":"https://github.com/free5gc/nrf/pull/83","tags":["x_refsource_MISC"],"url":"https://github.com/free5gc/nrf/pull/83"},{"name":"https://github.com/free5gc/nrf/commit/f7bc77daa7425506af7569f2e61c2a210f5a0423","tags":["x_refsource_MISC"],"url":"https://github.com/free5gc/nrf/commit/f7bc77daa7425506af7569f2e61c2a210f5a0423"}],"source":{"advisory":"GHSA-f8qv-7x5w-qr48","discovery":"UNKNOWN"},"title":"free5GC: NRF POST /oauth2/token structured-form parser type-confusion panic family (Reflect.Set on incompatible types)"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-44325","datePublished":"2026-05-27T15:43:34.136Z","dateReserved":"2026-05-05T19:00:06.023Z","dateUpdated":"2026-05-27T17:50:51.669Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-05-27 17:16:37","lastModifiedDate":"2026-05-28 16:51:24","problem_types":["CWE-20","CWE-755","CWE-843","CWE-20 CWE-20: Improper Input Validation","CWE-755 CWE-755: Improper Handling of Exceptional Conditions","CWE-843 CWE-843: Access of Resource Using Incompatible Type ('Type Confusion')"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.6}]},"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:free5gc:free5gc:*:*:*:*:*:*:*:*","versionEndExcluding":"4.2.2","matchCriteriaId":"EF7EBB95-EB4E-44C5-BF0A-9C99B0A7775F"}]}]}]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"44325","Ordinal":"1","Title":"free5GC: NRF POST /oauth2/token structured-form parser type-conf","CVE":"CVE-2026-44325","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"44325","Ordinal":"1","NoteData":"free5GC is an open-source implementation of the 5G core network. Prior to 4.2.2, 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. This vulnerability is fixed in 4.2.2.","Type":"Description","Title":"free5GC: NRF POST /oauth2/token structured-form parser type-conf"}]}}}