CVE-2026-68124: mctp: serial: handle zero-length frames to prevent rx buffer overflow

Published Aug 10, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

mctp: serial: handle zero-length frames to prevent rx buffer overflow

The MCTP serial receive state machine reads a frame length byte in mctpserialpushheader() case 2 and validates it upper-bound-only:

if (c > MCTPSERIALFRAMEMTU) { dev->rxstate = STATEERR; } else { dev->rxlen = c; dev->rxpos = 0; dev->rxstate = STATEDATA; ... }

A length of zero passes this check, so rxlen is set to 0 and the state machine advances to STATEDATA. In mctpserialpush() STATEDATA, the incoming byte is stored and rxpos incremented before the terminator is

dev->rxbuf[dev->rxpos] = c; dev->rxpos++; dev->rxstate = STATEDATA; if (dev->rxpos == dev->rxlen) { dev->rxpos = 0; dev->rxstate = STATETRAILER; }

With rxlen == 0 the "rxpos == rxlen" terminator can never fire (rxpos is already 1 on the first data byte), so subsequent bytes are written past the end of the fixed 74-byte rxbuf, which is the last member of the netdev private area. Every following data byte is an attacker-controlled 1-byte out-of-bounds heap write, and the overflow continues until a frame (0x7e) or escape byte resets the parser -- effectively unbounded.

Reaching this requires CAPNETADMIN to attach the NMCTP line discipline and bring the resulting mctpserialN netdev up, after which the bytes arrive via the tty receive path.

Route a zero-length frame straight to STATETRAILER instead of STATEDATA. The trailer/framing bytes are still consumed, and the frame resolves to a zero-length skb that the MCTP core rejects; the parser never enters STATEDATA with rxlen == 0, so the out-of-bounds write can no longer occur.

KASAN, on a frame of 0x7e 0x01 0x00 followed by data bytes (before this change):

UBSAN: array-index-out-of-bounds in drivers/net/mctp/mctp-serial.c:370 index 74 is out of range for type 'u8 [74]' BUG: KASAN: slab-out-of-bounds in mctpserialttyreceivebuf Write of size 1 at addr ... by task kworker/u16:0 mctpserialttyreceivebuf ttyldiscreceivebuf flushtoldisc Allocated by task 152: allocnetdevmqs mctpserialopen

v2: route zero-length frames to STATETRAILER instead of STATEERR so the trailer/framing bytes are still consumed (Jeremy Kerr).

Found by 0sec automated security-research tooling (https://0sec.ai).

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Linux kernel to a version that resolves this vulnerability.

    Patch mctp: serial: handle zero-length frames to prevent rx buffer overflow

Event History

Aug 10, 2026
CVE Published
via MITRE·11:58 AM
Data Sourced
via MITRE·11:58 AM
Description
Data Sourced
via NVD·01:19 PM
Description
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-68124?

CVE-2026-68124 has a severity rating of 47.

2

How do I fix CVE-2026-68124?

To fix CVE-2026-68124, ensure that you update to the patched version of the Linux kernel that addresses this vulnerability.

3

What type of vulnerability is CVE-2026-68124?

CVE-2026-68124 is classified as a buffer overflow vulnerability.

4

What system is affected by CVE-2026-68124?

CVE-2026-68124 affects the Linux kernel's MCTP serial communication functionality.

5

What is the impact of CVE-2026-68124?

The impact of CVE-2026-68124 includes potential rx (receive) buffer overflow, which could lead to undefined behavior or security risks.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203