MEDIUM 5.3

CVE-2026-56099: OpenBSD MPLS Stack Memory Disclosure Vulnerability

OpenBSD systems running versions before commit 6a23123 (released 2026-06-18) are vulnerable to a memory disclosure flaw in their MPLS networking stack. An attacker on the network can send specially crafted MPLS frames to trigger an out-of-bounds read, potentially leaking sensitive data from the kernel's memory. This is a remote attack requiring no authentication or user interaction, but the impact is limited to information disclosure—no system compromise or denial of service.

Source data · NVD / CISA · public domain

CVSS
3.1 · 5.3 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Weaknesses (CWE)
CWE-125
Affected products
1 configuration(s)
Published / Modified
2026-06-18 / 2026-07-14

NVD description (verbatim)

OpenBSD before commit 6a23123 (2026-06-18) contains an out-of-bounds read vulnerability in the mpls_do_error function within sys/netmpls/mpls_input.c that allows remote attackers to disclose kernel stack memory by sending crafted MPLS frames with 16 labels and no Bottom-of-Stack bit set.

5 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability exists in the mpls_do_error function (sys/netmpls/mpls_input.c) and is triggered when the kernel processes MPLS frames containing 16 labels without a Bottom-of-Stack (BoS) bit set. This condition causes the function to read beyond allocated buffer boundaries, exposing kernel stack memory to a remote attacker. The flaw is classified as CWE-125 (Out-of-bounds Read) and requires no privilege escalation or complex network conditions—any unauthenticated network-adjacent attacker can craft the malicious packet.

Business impact

The primary risk is information leakage from kernel memory, which may contain sensitive data such as encryption keys, memory addresses (defeating ASLR), or other secrets used in active sessions. While this does not directly compromise the system, leaked kernel addresses or cryptographic material could enable follow-on attacks or help an attacker bypass security mechanisms. Organizations running OpenBSD routers or MPLS-enabled network devices should prioritize patching to prevent reconnaissance and credential harvesting.

Affected systems

OpenBSD systems with MPLS functionality enabled are affected. This primarily impacts OpenBSD installations used as network equipment (routers, switches) or systems explicitly configured to process MPLS traffic. Systems without MPLS in active use may have lower exposure but are still vulnerable if the stack is compiled in. Verify your OpenBSD deployment's network configuration and kernel compilation options to determine applicability.

Exploitability

Exploitability is straightforward from a network perspective: an attacker needs only to send crafted MPLS frames over the network. No authentication, local access, or user interaction is required. The attack is passive and can be repeated to exfiltrate larger amounts of kernel memory. However, the attacker must have network reachability to the target system and must understand the MPLS protocol structure, which limits the pool of opportunistic attackers—this is not a trivial drive-by vulnerability.

Remediation

Upgrade to OpenBSD with commit 6a23123 or later (2026-06-18 or newer). The fix adds proper bounds checking in the mpls_do_error function to prevent out-of-bounds reads when processing MPLS frames. If upgrading is not immediately possible, consider disabling MPLS at the network edge or restricting MPLS traffic using firewall rules to systems where it is actually required.

Patch guidance

Apply the patch corresponding to OpenBSD commit 6a23123 (dated 2026-06-18) or later. Consult OpenBSD's official security advisories and release notes to verify the correct patch level for your branch. Test the patch in a staging environment first, as MPLS configuration can be intricate. After patching, restart any network services that depend on MPLS packet processing.

Detection guidance

Monitor for unusual MPLS traffic patterns, particularly frames with 16 labels and anomalous BoS bit configurations. Network intrusion detection systems (IDS) may flag malformed MPLS packets if rules are in place. Enable kernel audit logging if available to track access patterns to mpls_input.c code paths. Check system logs for any kernel errors or faults coinciding with suspicious MPLS traffic.

Why prioritize this

While the CVSS score of 5.3 (Medium) reflects the limited scope of impact (information disclosure only), the ease of exploitation and the sensitive nature of kernel memory contents warrant moderately high priority. Organizations with MPLS-enabled infrastructure should treat this as a near-term patch candidate, particularly if the systems are exposed to untrusted networks or handle cryptographic operations.

Risk score, explained

The CVSS 3.1 score of 5.3 reflects a remote, low-complexity attack with no privilege requirements (AV:N, AC:L, PR:N, UI:N) but limited impact—confidentiality is compromised (C:L) while integrity and availability remain intact (I:N, A:N). The score appropriately captures a meaningful but contained risk; information leakage from kernel memory is serious in context but does not result in immediate system takeover or service disruption.

Frequently asked questions

Can this vulnerability be exploited from outside the network?

Yes. The CVSS vector indicates network-adjacent attack surface (AV:N). An attacker needs IP-level reachability to send MPLS frames to the target, so exploitation is possible from any network segment that can route packets to the vulnerable system. In many deployments, MPLS is confined to trusted carrier networks, which may reduce risk.

What is the difference between a Bottom-of-Stack bit and normal MPLS labels?

The Bottom-of-Stack (BoS) bit signals the end of the MPLS label stack; the innermost label carries a BoS bit of 1. The vulnerability is triggered when 16 labels exist without a BoS bit set to terminate the stack, causing the mpls_do_error function to read past the expected label array boundary.

Does this vulnerability affect other BSD variants or Linux MPLS implementations?

This CVE is specific to OpenBSD's MPLS input handling code. Other systems (FreeBSD, Linux) may have similar vulnerabilities in their MPLS stacks, but you must review their codebases separately. Always check vendor advisories for your specific platform.

If MPLS is not used in my OpenBSD deployment, am I still at risk?

If MPLS is not enabled in your kernel or network configuration, the vulnerable code path is unlikely to be triggered during normal operation. However, if MPLS is compiled into the kernel, an attacker can still send MPLS frames to trigger it. Disabling MPLS at the kernel or firewall level provides additional assurance.

This analysis is based on public vulnerability data and vendor advisories available as of 2026-07-14. Security assessments are subject to change as new information emerges. Always verify patch applicability and test in your environment before production deployment. Organizations are responsible for assessing their own exposure and risk tolerance. SEC.co makes no warranty regarding the completeness or accuracy of this intelligence beyond information publicly disclosed by vendors. Source: NVD (public-domain), retrieved 2026-07-27. Analysis generated by SEC.co (claude-haiku-4-5).