CWE-478
AllowedMissing Default Case in Multiple Condition Expression
Abstraction: Base · Status: Draft
The code does not have a default case in an expression with multiple conditions, such as a switch statement.
2 vulnerabilities reference this CWE, most recent first.
CVE-2026-33064 (GCVE-0-2026-33064)
Vulnerability from cvelistv5 – Published: 2026-03-20 08:00 – Updated: 2026-03-20 15:42- CWE-478 - Missing Default Case in Multiple Condition Expression
| URL | Tags |
|---|---|
| https://github.com/free5gc/free5gc/security/advis… | x_refsource_CONFIRM |
| https://github.com/free5gc/free5gc/issues/781 | x_refsource_MISC |
| https://github.com/free5gc/udm/pull/78 | x_refsource_MISC |
| https://github.com/free5gc/udm/commit/65d7070f4bf… | x_refsource_MISC |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-33064",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-03-20T15:42:37.002784Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-03-20T15:42:53.709Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "free5gc",
"vendor": "free5gc",
"versions": [
{
"status": "affected",
"version": "\u003c 1.4.2"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Free5GC is an open-source Linux Foundation project for 5th generation (5G) mobile core networks. Versions prior to 1.4.2 are vulnerable to procedure panic caused by Nil Pointer Dereference in the /sdm-subscriptions endpoint. A remote attacker can cause the UDM service to panic and crash by sending a crafted POST request to the /sdm-subscriptions endpoint with a malformed URL path containing path traversal sequences (../) and a large JSON payload. The DataChangeNotificationProcedure function in notifier.go attempts to access a nil pointer without proper validation, causing a complete service crash with \"runtime error: invalid memory address or nil pointer dereference\". Exploitation would result in UDM functionality disruption until recovery by restart. This issue has been fixed in version 1.4.2."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 8.7,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-478",
"description": "CWE-478: Missing Default Case in Multiple Condition Expression",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-03-20T08:00:31.755Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/free5gc/free5gc/security/advisories/GHSA-7g27-v5wj-jr75",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/free5gc/free5gc/security/advisories/GHSA-7g27-v5wj-jr75"
},
{
"name": "https://github.com/free5gc/free5gc/issues/781",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/free5gc/free5gc/issues/781"
},
{
"name": "https://github.com/free5gc/udm/pull/78",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/free5gc/udm/pull/78"
},
{
"name": "https://github.com/free5gc/udm/commit/65d7070f4bfd016864cbbaefbd506bbc85d2fa92",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/free5gc/udm/commit/65d7070f4bfd016864cbbaefbd506bbc85d2fa92"
}
],
"source": {
"advisory": "GHSA-7g27-v5wj-jr75",
"discovery": "UNKNOWN"
},
"title": "free5GC UDM DataChangeNotification Procedure Panic Due to Nil Pointer Dereference"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-33064",
"datePublished": "2026-03-20T08:00:31.755Z",
"dateReserved": "2026-03-17T19:27:06.343Z",
"dateUpdated": "2026-03-20T15:42:53.709Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
GHSA-7G27-V5WJ-JR75
Vulnerability from github – Published: 2026-03-18 20:06 – Updated: 2026-03-20 21:24Impact
This is a NULL Pointer Dereference vulnerability leading to Denial of Service.
- Security Impact: A remote attacker can cause the UDM service to panic and crash by sending a crafted POST request to the /sdm-subscriptions endpoint with a malformed URL path containing path traversal sequences (../) and a large JSON payload. The DataChangeNotificationProcedure function in notifier.go attempts to access a nil pointer without proper validation, causing a complete service crash with "runtime error: invalid memory address or nil pointer dereference".
- Functional Impact: The service crashes completely, requiring manual restart. All UDM functionality is disrupted until recovery.
- Affected Parties: All deployments of free5GC v4.0.1 using the UDM HTTP callback functionality.
Patches
Yes, the issue has been patched.
The fix is implemented in PR free5gc/udm#78.
Users should upgrade to the next release of free5GC that includes this commit.
Workarounds
There is no direct workaround at the application level. The recommendation is to apply the provided patch or implement API gateway-level filtering to block requests containing path traversal sequences.
{
"affected": [
{
"package": {
"ecosystem": "Go",
"name": "github.com/free5gc/udm"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.4.2"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-33064"
],
"database_specific": {
"cwe_ids": [
"CWE-476",
"CWE-478"
],
"github_reviewed": true,
"github_reviewed_at": "2026-03-18T20:06:36Z",
"nvd_published_at": "2026-03-20T08:16:12Z",
"severity": "HIGH"
},
"details": "**Impact** \nThis is a NULL Pointer Dereference vulnerability leading to Denial of Service. \n- **Security Impact**: A remote attacker can cause the UDM service to panic and crash by sending a crafted POST request to the `/sdm-subscriptions` endpoint with a malformed URL path containing path traversal sequences (`../`) and a large JSON payload. The `DataChangeNotificationProcedure` function in `notifier.go` attempts to access a nil pointer without proper validation, causing a complete service crash with \"runtime error: invalid memory address or nil pointer dereference\". \n- **Functional Impact**: The service crashes completely, requiring manual restart. All UDM functionality is disrupted until recovery. \n- **Affected Parties**: All deployments of free5GC v4.0.1 using the UDM HTTP callback functionality.\n\n**Patches** \nYes, the issue has been patched. \nThe fix is implemented in PR free5gc/udm#78. \nUsers should upgrade to the next release of free5GC that includes this commit.\n\n**Workarounds** \nThere is no direct workaround at the application level. The recommendation is to apply the provided patch or implement API gateway-level filtering to block requests containing path traversal sequences.",
"id": "GHSA-7g27-v5wj-jr75",
"modified": "2026-03-20T21:24:03Z",
"published": "2026-03-18T20:06:36Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/free5gc/free5gc/security/advisories/GHSA-7g27-v5wj-jr75"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-33064"
},
{
"type": "WEB",
"url": "https://github.com/free5gc/free5gc/issues/781"
},
{
"type": "WEB",
"url": "https://github.com/free5gc/udm/pull/78"
},
{
"type": "WEB",
"url": "https://github.com/free5gc/udm/commit/65d7070f4bfd016864cbbaefbd506bbc85d2fa92"
},
{
"type": "PACKAGE",
"url": "https://github.com/free5gc/udm"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "free5GC UDM DataChangeNotification Procedure Panic Due to Nil Pointer Dereference"
}
Mitigation
Ensure that there are no cases unaccounted for when adjusting program flow or values based on the value of a given variable. In the case of switch style statements, the very simple act of creating a default case can, if done correctly, mitigate this situation. Often however, the default case is used simply to represent an assumed option, as opposed to working as a check for invalid input. This is poor practice and in some cases is as bad as omitting a default case entirely.
No CAPEC attack patterns related to this CWE.