CVE-2023-37030
Executive Summary
CVE-2023-37030 is a NULL pointer dereference vulnerability in the Mobile Management Entity (MME) component of the open-source Magma mobile core network platform, affecting releases up to and including v1.8.0. A network-adjacent attacker can crash the MME by sending an S1 Application Protocol (S1AP) Initial UE Message packet that omits the mandatory eNB_UE_S1AP_ID field, resulting in a denial of service for all subscribers served by the impacted control-plane function. No CVSS score has been assigned, no public exploit is currently tracked, and the vulnerability is not listed in CISA's Known Exploited Vulnerabilities catalog.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
Magma is an open-source mobile core network platform implementing 4G EPC and 5G core network functions. The MME is the central control-plane element responsible for UE attach procedures, authentication, bearer establishment, mobility management, and paging. The MME communicates with radio access network (RAN) elements (eNodeBs) over the S1-MME reference point using the S1AP protocol, which is transported over the Stream Control Transmission Protocol (SCTP).
The vulnerable code path is exercised during processing of an S1AP Initial UE Message. In a legitimate flow, an eNodeB sends this message to the MME when a UE first establishes an S1 association, carrying the NAS protocol data unit (NAS-PDU), the TAI, the E-UTRAN CGI, and — critically — the eNB_UE_S1AP_ID, an identifier allocated by the eNodeB to uniquely identify the UE's S1 signaling connection within the eNodeB. The MME uses this identifier to correlate the incoming request with an internal UE context.
The NVD description indicates that the MME code, when parsing an Initial UE Message, dereferences the pointer or context lookup associated with the eNB_UE_S1AP_ID field without first verifying that the field is present in the decoded message. Under 3GPP TS 36.413, eNB_UE_S1AP_ID is a mandatory IE in the Initial UE Message; the vulnerable parser trusts the protocol contract and does not defensively validate IE presence. A crafted packet that omits the expected IE therefore results in a NULL pointer dereference, causing a segmentation fault and process termination of the MME.
Insufficient technical detail is available in the NVD description to name the specific parsing function or the exact line of C code responsible. The vulnerability class is clear: it is an unvalidated mandatory-IE presence check leading to a NULL pointer dereference (CWE-476). The attack surface is the S1-MME signaling interface — specifically, any network path from which an attacker can inject SCTP/S1AP traffic toward the MME. The "network-adjacent" qualifier in the description indicates the attacker does not require Internet-facing access but must be able to reach the MME from within the operator's transport/RAN network or from a compromised adjacent segment.
The NVD description states the flaw is fixed in Magma v1.9 at commit 08472ba98b8321f802e95f5622fa90fec2dea486. Notably, the threat-intelligence data provided lists patch confidence as 0/4 ("UNPATCHED — no patch evidence from any tracked source"). This discrepancy should be validated against the official Magma release channel before relying on the NVD version statement; the absence of corroborating patch evidence may indicate the fix commit has not been propagated to tracked advisories or that the version claiming is unverified.
Exploitation Scenarios
No public proof-of-concept is available for CVE-2023-37030, and no exploit code or Nuclei template is tracked. The attack chain below is therefore inferred from the vulnerability class and the protocol semantics described in the NVD entry.
Reconnaissance / target identification. The attacker identifies an MME S1-MME listener. Because S1AP is carried over SCTP, the attacker first determines whether the MME accepts SCTP associations — typically on the well-known S1AP port 36412 — using SCTP-aware network scanning or by leveraging knowledge of the operator's transport network topology. A successful SCTP four-way handshake confirms reachability of the control-plane interface.
Flaw-class trigger. The attacker crafts an S1AP message of type
Initial UE Messagein which theeNB_UE_S1AP_IDfield is deliberately omitted. No memory-corruption primitive is required; the trigger is a protocol-conformant-in-structure-but-incomplete message. The vulnerable MME decoder processes the message without verifying IE presence and subsequently dereferences a NULL value where theeNB_UE_S1AP_ID-derived context pointer was expected.Payload / execution method. The "payload" is the malformed S1AP PDU itself. The attacker first establishes the SCTP association with the MME (and optionally completes S1 setup to appear as a legitimate eNodeB), then transmits the
Initial UE MessagelackingeNB_UE_S1AP_ID. Because the S1AP decoding and UE-context correlation occur before the MME validates the message, no application-layer authentication is bypassable — the crash occurs during message ingestion.Post-exploitation impact. Successful exploitation terminates the MME process. The consequence is an availability outage of the control plane: UEs currently attached to the network lose mobility and paging services, new attach requests fail, and ongoing session continuity is disrupted. The attacker can re-transmit the malicious packet after any automatic process restart, converting a one-shot crash into a persistent denial of service. No privilege escalation, data exfiltration, or integrity impact is implied by the vulnerability class.
Impact Assessment
- Business impact: The MME is a single point of failure for the control plane in Magma-based mobile networks. A crash denies service to every subscriber whose UE context is managed by that MME, including active voice/data sessions and all new attach attempts. For enterprises operating private LTE/CBRS networks on Magma, this translates directly into operational downtime and potential SLA breaches.
- Affected systems: Magma MME components running versions <= 1.8.0. The vendor/product entry lists the affected component as "Unknown" beyond the MME; the S1-MME interface and S1AP stack are the specific attack surface.
- Blast radius: Because the attacker must be network-adjacent, exploitation is typically limited to parties with access to the operator's RAN transport, backhaul, or an adjacent compromised network segment. However, within that boundary, the entire MME service area is affected. Cascading effects may include SCTP endpoint restarts, loss of paging, delayed handovers, and load spikes on neighboring MMEs if the deployment uses pooling.
- CVSS / scoring context: No CVSS vector or subscores have been assigned (CVSS: N/A). The EPSS score of 0.00373 (30.5th percentile) indicates a low current probability of exploitation in the wild. CISA KEV listing: NO. No known threat-actor campaigns or exploit-in-the-wild evidence are associated with this CVE at the time of writing.
Detection Guidance
The following detection rules target either (a) malformed S1AP Initial UE Message traffic on the S1-MME interface, or (b) the observable crash signature of the MME process. Because on-the-wire S1AP is ASN.1 PER-encoded (binary), network rules relying on plaintext markers are heuristic and should be complemented by host-level crash monitoring and, where available, protocol-decoded logging from Magma's MME.
Sigma Rule
title: S1AP Initial UE Message Missing eNB_UE_S1AP_ID
id: f3a1c0a4-6c1e-4a2b-9d5e-8c7a3f0b2e11
status: experimental
description: Detects S1AP Initial UE Message packets that omit the mandatory eNB_UE_S1AP_ID field, potentially triggering CVE-2023-37030 MME NULL pointer dereference.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2023-37030
author: Valters IT Threat Intelligence
date: 2025/01/01
logsource:
category: network_connection
product: magma
service: mme
detection:
selection:
s1ap.procedureCode: "InitialUEMessage"
filter:
s1ap.eNB_UE_S1AP_ID|exists: true
condition: selection and not filter
falsepositives:
- Protocol decoders that fail to populate optional IE fields in logs
level: high
tags:
- attack.t1499
- cve.2023.37030
YARA Rule
rule CVE_2023_37030_S1AP_Missing_eNB_UE_S1AP_ID
{
meta:
author = "Valters IT Threat Intelligence"
description = "Heuristic detection of S1AP Initial UE Message content missing eNB_UE_S1AP_ID (CVE-2023-37030). Use on PCAP extracts or text-dissected S1AP logs; PER-encoded binary requires a protocol decoder."
reference = "https://nvd.nist.gov/vuln/detail/CVE-2023-37030"
cve = "CVE-2023-37030"
date = "2025-01-01"
strings:
$s1ap_init = "InitialUEMessage" ascii nocase
$s1ap_init2 = "Initial UE Message" ascii nocase
$enb_id = "eNB_UE_S1AP_ID" ascii nocase
$enb_id2 = "eNB-UE-S1AP-ID" ascii nocase
condition:
uint16(0) == 0xA1B2 or uint32(0) == 0x0A0D0D0A or filename matches /pcap/i or $s1ap_init or $s1ap_init2
and not any of them
}
Note: The condition above is illustrative — and not any of them correctly expresses "contains Initial UE Message but does not contain eNB_UE_S1AP_ID" only when the $s1ap_* strings are present and $enb_* strings are absent. Analysts should gate the rule on input being packet/pcap-derived content before applying it.
Suricata IDS Rule
# Heuristic SCTP/S1AP detection rule for CVE-2023-37030.
# Warning: S1AP on the wire is ASN.1 PER encoded; this rule keys on the
# S1-MME SCTP port and S1AP protocol indicators. Precision requires a
# protocol-aware dissector (e.g., a custom S1AP app-layer parser).
alert sctp any any -> any 36412 (msg:"ET EXPLOIT CVE-2023-37030 S1AP Initial UE Message without eNB_UE_S1AP_ID (MME DoS)"; flow:established; app-layer-protocol:s1ap; content:"|00 0c|"; depth:8; reference:cve,2023-37030; classtype:attempted-dos; sid:2023370300; rev:1;)
Note: the byte content |00 0c| in the rule above is a placeholder for the PER-encoded Procedure Code value of InitialUEMessage and must be validated against a captured reference packet before production deployment. If unavailable, remove the content match entirely and alert on SCTP traffic to port 36412 as a low-severity baseline.
Elastic Detection
sequence by host.id with maxspan=5m
[ network where network.protocol == "sctp" and destination.port == 36412
and network.direction == "inbound" and network.bytes > 0 ]
[ process where event.action in ("crash", "segfault", "core_dump")
and process.name == "mme" ]
This EQL query correlates an inbound SCTP/S1AP connection with a subsequent crash of the MME process on the same host, which is the observable signature of a successful exploitation attempt.
Splunk SPL Query
(index=* sourcetype="magma:mme" OR index=* sourcetype="syslog")
("InitialUEMessage" OR "Initial UE Message" OR "S1AP")
| rex field=_raw "(?i)(eNB_UE_S1AP_ID|eNB-UE-S1AP-ID)\s*[=:]?\s*(?<enb_id>[0-9A-Fa-f]+)"
| where isnull(enb_id)
| stats count by src_ip, dest_ip, _time, host
Complement with a process-crash search:
index=* sourcetype="process_rollup" OR index=* (event.code="crash" OR "segfault")
process_name="mme"
| table _time, host, process_name, process_id, exit_code, src_ip
Wazuh OSSEC Rule
<group name="magma,mme,attack.dos,">
<rule id="100370" level="12">
<decoded>
<program_name>mme</program_name>
</decoded>
<match>InitialUEMessage|Initial UE Message</match>
<regex>eNB_UE_S1AP_ID|eNB-UE-S1AP-ID</regex>
<description>CVE-2023-37030: S1AP Initial UE Message missing eNB_UE_S1AP_ID detected — possible MME NULL pointer dereference/DoS.</description>
<mitre>
<id>T1499</id>
</mitre>
<group>magma,mme,attack.dos,</group>
</rule>
<rule id="100371" level="12">
<decoded>
<program_name>kernel</program_name>
</decoded>
<match>segfault|general protection fault|NULL pointer</match>
<regex>mme</regex>
<description>MME process crashed with NULL pointer dereference — possible CVE-2023-37030 exploitation.</description>
<mitre>
<id>T1499</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). Note: the NVD description references a fix in Magma v1.9 commit 08472ba98b8321f802e95f5622fa90fec2dea486, but no tracked patch source confirms this. Validate the commit against the official Magma repository and release notes before assuming the fix is authoritative.
Immediate mitigations:
- Restrict SCTP/S1AP access to the MME at the network layer. Allow S1-MME traffic (SCTP, port 36412) only from trusted eNodeB/subnet source ranges. Deploy access-control lists or SCTP-aware firewalls on the transport boundary.
- Segment the RAN transport network from other network segments so that a compromised adjacent host cannot reach the MME S1-MME interface.
- Enable MME process auto-restart and supervisor monitoring so a crash is recovered as quickly as possible; combine with rate limiting of S1AP associations per source to slow repeated exploit attempts.
- Monitor S1AP signaling for malformed
Initial UE MessagePDUs and alert on unusual SCTP association rates.
Patch / upgrade steps:
- Verify whether Magma v1.9 (commit
08472ba98b8321f802e95f5622fa90fec2dea486) is available in your deployment channel; if so, upgrade the MME component to v1.9 or later and validate the fix in a staging environment. - If the vendor has not released a confirmed patched build, treat the component as unpatched and assume the vulnerability is present in all versions <= 1.8.0.
- Re-check CISA KEV, NVD, and Magma's GitHub advisories periodically; this CVE may be updated with a CWE and CVSS vector once the CNA completes analysis.
- Verify whether Magma v1.9 (commit
Long-term hardening:
- Add protocol-level input validation and fuzzing for S1AP message parsing in the CI/CD pipeline of custom Magma deployments; specifically, fuzz mandatory-IE presence in
Initial UE Messageand related S1AP PDUs. - Deploy MME redundancy/pooling so a single crash does not take down the entire control plane.
- Integrate MME crash telemetry into the SIEM/SOAR so crash events trigger automated containment of the offending SCTP peer.
- Maintain network-level visibility of SCTP signaling (mirror S1-MME traffic to a probe) to enable forensic reconstruction if exploitation is suspected.
- Add protocol-level input validation and fuzzing for S1AP message parsing in the CI/CD pipeline of custom Magma deployments; specifically, fuzz mandatory-IE presence in
References
- NVD Entry — CVE-2023-37030: https://nvd.nist.gov/vuln/detail/CVE-2023-37030
- MITRE CVE Record: https://www.cve.org/CVERecord?id=CVE-2023-37030
- Magma Project (GitHub): https://github.com/magma/magma
- Reference fix commit (per NVD): https://github.com/magma/magma/commit/08472ba98b8321f802e95f5622fa90fec2dea486
No CISA KEV entry exists for this CVE. No known threat-actor campaigns or exploitation-in-the-wild evidence are currently documented; the EPSS score of 0.00373 supports a low likelihood of near-term mass exploitation, but the network-adjacent attack vector and trivial packet-crafting requirement warrant active monitoring in operator environments.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.