Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-53224

CVE-2026-53224: Linux Kernel Buffer Overflow Vulnerability

CVE-2026-53224 is a buffer overflow vulnerability in the Linux kernel SCTP implementation that allows out-of-bounds reads through malformed COOKIE_ECHO packets. This article covers technical details, impact, and mitigation.

Published:

CVE-2026-53224 Overview

CVE-2026-53224 is a Linux kernel vulnerability in the Stream Control Transmission Protocol (SCTP) implementation. The flaw resides in sctp_unpack_cookie(), which fails to fully validate the size of an embedded INIT chunk and the length of the raw address list inside a COOKIE_ECHO message. A malformed cookie can carry a truncated INIT chunk or an oversized raw_addr_list_len, causing subsequent parsing routines to read past the end of the cookie payload. This results in out-of-bounds reads in kernel memory [CWE-125].

Critical Impact

A remote peer transmitting a crafted SCTP COOKIE_ECHO can trigger out-of-bounds reads in the Linux kernel, potentially leading to information disclosure or denial of service when cookie authentication is disabled.

Affected Products

  • Linux kernel SCTP subsystem (net/sctp/sm_make_chunk.c)
  • Distributions shipping vulnerable kernel versions prior to the fixing commits
  • Systems with SCTP enabled and cookie authentication disabled

Discovery Timeline

  • 2026-06-25 - CVE-2026-53224 published to NVD
  • 2026-06-25 - Last updated in NVD database

Technical Details for CVE-2026-53224

Vulnerability Analysis

The vulnerability exists in the SCTP cookie unpacking logic. sctp_unpack_cookie() previously verified only that the embedded INIT chunk length did not exceed the remaining cookie payload. It did not confirm that the INIT chunk was large enough to hold a complete struct sctp_init_chunk header.

When sctp_process_init() subsequently parses the chunk, it dereferences INIT parameters unconditionally. A truncated INIT chunk causes the parser to read memory beyond the valid INIT header. This produces out-of-bounds reads adjacent to the cookie buffer.

A secondary defect affects raw_addr_list_len. The field is not fully bounded against the remaining cookie payload. When cookie authentication is disabled, an attacker can supply an inflated raw_addr_list_len, causing sctp_raw_to_bind_addrs() to walk past the end of the cookie. The address parameter parser also lacks sufficient bounds checks for parameter headers and payload lengths.

Root Cause

The root cause is incomplete length validation in sctp_unpack_cookie(). The function trusted attacker-controlled length fields without enforcing minimum sizes for the embedded INIT chunk or verifying that the INIT chunk plus the raw address list fit within the cookie payload.

Attack Vector

An attacker sends a crafted SCTP COOKIE_ECHO packet to a vulnerable Linux host. The cookie payload contains either a truncated INIT chunk shorter than sizeof(struct sctp_init_chunk) or an oversized raw_addr_list_len. When the kernel processes the cookie, it performs out-of-bounds reads in kernel memory. Exploitation can leak adjacent kernel memory or destabilize the SCTP association.

No verified public proof-of-concept code is available. The patch details are documented in the upstream commits referenced below.

Detection Methods for CVE-2026-53224

Indicators of Compromise

  • Unexpected kernel oops or KASAN reports referencing sctp_unpack_cookie, sctp_process_init, or sctp_raw_to_bind_addrs
  • Anomalous SCTP COOKIE_ECHO traffic with malformed chunk length fields
  • Sudden termination or instability of SCTP-dependent services such as telecom signaling stacks

Detection Strategies

  • Enable KASAN on test kernels to surface out-of-bounds reads in the SCTP code path
  • Inspect SCTP packet captures for COOKIE_ECHO messages whose declared INIT chunk length is below sizeof(struct sctp_init_chunk)
  • Correlate kernel log entries from dmesg with network telemetry to identify hosts receiving malformed SCTP traffic

Monitoring Recommendations

  • Audit hosts that load the sctp kernel module and restrict it where SCTP is not required
  • Monitor for crashes or restarts of services binding SCTP sockets (for example, Diameter, M3UA, S1AP)
  • Forward kernel logs to a centralized data lake for retroactive analysis of anomalous SCTP parser activity

How to Mitigate CVE-2026-53224

Immediate Actions Required

  • Apply the upstream kernel patches referenced in the commit list below as soon as distribution updates are available
  • Unload the sctp kernel module on systems that do not require SCTP
  • Restrict ingress SCTP traffic at network boundaries to trusted peers only

Patch Information

The fix requires the embedded INIT chunk length to be at least sizeof(struct sctp_init_chunk), validates that the INIT chunk and raw address list together fit within the cookie payload, and verifies sufficient data exists for each address parameter header and payload before parsing. See Kernel Git Commit 7560afb, Kernel Git Commit 512a9bb, and Kernel Git Commit 6f4c80a.

Workarounds

  • Blacklist the sctp kernel module using /etc/modprobe.d/ configuration where the protocol is unused
  • Filter inbound SCTP traffic with iptables, nftables, or upstream firewalls to allow only trusted endpoints
  • Disable automatic loading of the SCTP module by removing CONFIG_SCTP_* autoload triggers in environments without SCTP applications
bash
# Blacklist the SCTP module on systems that do not need it
echo 'install sctp /bin/true' | sudo tee /etc/modprobe.d/disable-sctp.conf
sudo rmmod sctp 2>/dev/null || true

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.