Skip to main content

Open5GS CVE-2025-15176

MEDIUM
Reachable Assertion (CWE-617)
2025-12-29 cna@vuldb.com
5.5
CVSS 4.0 · Vendor: vuldb
Share

Severity by source

Vendor (vuldb) PRIMARY
5.5 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
7.5 HIGH

Remote, low-complexity, unauthenticated malformed-packet trigger (AV:N/AC:L/PR:N/UI:N) causing a process-aborting assertion, so availability-only impact A:H with C:N/I:N and no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (vuldb).

CVSS VectorVendor: vuldb

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

2
Analysis Generated
Oct 05, 2026 - 18:43 vuln.today
CVE Published
Dec 29, 2025 - 07:15 cve.org
MEDIUM 5.5

DescriptionCVE.org

A flaw has been found in Open5GS up to 2.7.5. This affects the function decode_ipv6_header/ogs_pfcp_pdr_rule_find_by_packet of the file lib/pfcp/rule-match.c of the component PFCP Session Establishment Request Handler. Executing a manipulation can lead to reachable assertion. It is possible to launch the attack remotely. The exploit has been published and may be used. This patch is called b72d8349980076e2c033c8324f07747a86eea4f8. Applying a patch is advised to resolve this issue.

AnalysisAI

Denial of service in Open5GS through 2.7.5 allows an unauthenticated remote attacker to abort the affected process by delivering a malformed IPv6 packet that is evaluated by the PFCP Packet Detection Rule matching path, causing a reachable assertion failure (CWE-617). The flaw sits in decode_ipv6_header() and ogs_pfcp_pdr_rule_find_by_packet() in lib/pfcp/rule-match.c, which abort when an IPv6 header advertises a zero payload length (jumbo-payload indication) together with a non-zero NextHeader value - a combination the pre-patch code asserted was impossible. Impact is availability-only: the vendor scores it 5.5 (CVSS 4.0, AV:N/AC:L/AT:N/PR:N/UI:N/E:P/VC:N/VI:N/VA:L) and our independent assessment raises the availability impact to HIGH under CVSS 3.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H), with publicly available exploit code exists but no confirmed actively exploited (CISA KEV) status and no data exposure or code execution demonstrated.

Technical ContextAI

Open5GS is an open-source 5G/4G core network implementation whose SMF/UPF components use PFCP (Packet Forwarding Control Protocol, 3GPP TS 29.244) to install Packet Detection Rules (PDRs) for user-plane traffic classification. When a packet arrives, ogs_pfcp_pdr_rule_find_by_packet() walks the packet against candidate rules and, for IPv6 traffic, calls decode_ipv6_header() to determine the next header and header length derived from the IPv6 payload-length field. The root cause is CWE-617 (Reachable Assertion): the code contained ogs_assert(nxt == 0) on the assumption that an IPv6 payload length of zero can only mean a jumbo-payload header (which mandates NextHeader=0), so an attacker-supplied header with payload length 0 and a non-zero NextHeader trips the assertion and terminates the process. The upstream fix (commit b72d8349980076e2c033c8324f07747a86eea4f8) replaces the assertion with an ogs_error() log and an OGS_ERROR return, and changes the caller in ogs_pfcp_pdr_rule_find_by_packet() to log a hexdump and 'continue' rather than abort, effectively dropping the malformed packet gracefully. The affected component is the PFCP Session Establishment Request handler, and the CPE cpe:2.3:a:open5gs:open5gs:*:*:*:*:*:*:*:* applies to all builds up to and including 2.7.5.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - apply commit b72d8349980076e2c033c8324f07747a86eea4f8 (https://github.com/open5gs/open5gs/commit/b72d8349980076e2c033c8324f07747a86eea4f8), which converts the ogs_assert(nxt == 0) in decode_ipv6_header() into a logged OGS_ERROR return and makes ogs_pfcp_pdr_rule_find_by_packet() skip malformed IPv6 packets instead of aborting, and upgrade to a build that contains this change (anything newer than 2.7.5) as soon as one is available for your distribution. Where immediate patching is not possible, the highest-value compensating control is to stop untrusted IPv6 packets from reaching the PFCP/PDR matching path: enforce network segmentation so the N4/PFCP interface and user-plane ingress are reachable only from trusted core components, and block or rate-limit inbound IPv6 traffic on those paths at the perimeter. Operators who control the ingress can additionally filter IPv6 packets whose payload-length field is zero while the NextHeader field is non-zero, which is the exact malformed condition that triggers the abort; the trade-off is that legitimate jumbo-payload (hop-by-hop jumbo) traffic uses payload length 0 with NextHeader 0 and must be allowed through, and such filtering adds an extra DPI hop. Because the abort is a process-level crash, running the SMF/UPF under a supervisor that restarts the process reduces outage duration but does not prevent repeated denial of service, so it should be treated only as a stopgap. Monitoring for repeated process restarts or IPv6 parse errors in Open5GS logs provides a reasonable detection signal while the patch is rolled out.

CVE-2025-15684 MEDIUM POC
5.5 Aug 12

Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han

CVE-2025-15687 LOW POC
2.1 Aug 12

Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc

CVE-2025-15686 LOW POC
2.1 Aug 12

Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula

CVE-2024-40130 CRITICAL POC
9.8 Jul 16

open5gs v2.6.4 is vulnerable to Buffer Overflow. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2024-40129 CRITICAL POC
9.8 Jul 16

Open5GS v2.6.4 is vulnerable to Buffer Overflow. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2021-28122 CRITICAL POC
9.8 Mar 10

A request-validation issue was discovered in Open5GS 2.1.3 through 2.2.x before 2.2.1. Rated critical severity (CVSS 9.8

CVE-2025-15685 MEDIUM
5.3 Aug 12

Memory corruption in Open5GS versions through 2.7.1 is remotely exploitable via the freeDiameter protocol component, all

CVE-2021-25863 HIGH POC
8.8 Jan 26

Open5GS 2.1.3 listens on 0.0.0.0:3000 and has a default password of 1423 for the admin account. Rated high severity (CVS

CVE-2023-37023 HIGH POC
8.6 Jan 22

Open5GS MME versions <= 2.6.4 contain a reachable assertion in the `Uplink NAS Transport` packet handler. Rated high sev

CVE-2023-37021 HIGH POC
8.6 Jan 22

Open5GS MME version <= 2.6.4 contains an assertion that can be remotely triggered via a malformed ASN.1 packet over the

CVE-2023-37020 HIGH POC
8.6 Jan 22

Open5GS MME versions <= 2.6.4 contain an assertion that can be remotely triggered via a malformed ASN.1 packet over the

CVE-2023-37019 HIGH POC
8.6 Jan 22

Open5GS MME versions <= 2.6.4 contains an assertion that can be remotely triggered via a malformed ASN.1 packet over the

Share

CVE-2025-15176 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy