KernelScan.io

HIGH Introduced in 2.6.12

sctp AdaptationIndication OOB

CVE-2026-80717

CVSS 7.5 / 10.0 NVD

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

KernelScan AI5.3MEDIUM

01

In the Linux kernel, the following vulnerability has been resolved: sctp: validate Adaptation Indication parameter length The Adaptation Layer Indication parameter contains a fixed 32-bit Adaptation Code Point after its parameter header. However, sctp_verify_param() accepts a header-only parameter because the generic parameter walker only requires the header to be present. sctp_process_param() then reads adaptation_ind beyond the declared parameter. When the malformed parameter is last in an INIT, the read starts at the receive skb tail, and the value is copied into the state cookie returned in the INIT ACK. This may disclose four receive-buffer tail bytes. Require the declared parameter length to match the fixed structure size and abort the association through the existing invalid parameter length path otherwise.

02

Engine v0.6.0

Risk summary

A remote attacker can send a crafted SCTP INIT chunk containing a truncated Adaptation Layer Indication parameter to any host with SCTP enabled and a listening SCTP socket. The kernel reads four bytes beyond the declared parameter boundary and copies them into the INIT ACK state cookie, leaking up to four bytes of unrelated receive-buffer data back to the attacker. No privileges or local access are required.

Affectednet/sctp/sm_make_chunk.c (SCTP)

Vulnerability analysis

The SCTP parameter verifier accepts an Adaptation Layer Indication parameter that declares only a header length, omitting the required 32-bit Adaptation Code Point field. During INIT chunk processing the parser reads four bytes past the declared parameter boundary to obtain the code point value; when the truncated parameter is last in the INIT, those bytes come from the tail of the receive buffer and are copied into the state cookie returned in the INIT ACK, disclosing up to four bytes of unrelated receive-buffer data to the remote peer. The fix adds a length check that rejects parameters whose declared length does not match the fixed structure size, aborting the association through the existing invalid-parameter-length path. Any network peer can trigger this by sending a crafted SCTP INIT to a port where the kernel is processing SCTP connections; no privileges or local access are required.

03

BranchIntroducedFixed inPatch commit
5.102.6.125.10.265fa7861ddbe3b
5.152.6.125.15.2164c92c601c061
6.12.6.126.1.1837b7e4e3640d5
6.122.6.126.12.1035fd7cfc708df
6.182.6.126.18.4417b412468c7a
6.62.6.126.6.15193942b5772e0
7.12.6.127.1.8bfa28cf99eb4
mainline2.6.127.274b21f52c5c5
cip/4.192.6.124.19.325-cip136f75508ffc278
cip/4.19-rt2.6.124.19.325-cip136-rt50f75508ffc278
cip/4.42.6.124.4.302-cip115fd8f91f7a1f1
cip/4.4-rt2.6.124.4.302-cip115-rt63fd8f91f7a1f1
cip/5.102.6.125.10.268-cip77fa7861ddbe3b
cip/5.10-rt2.6.125.10.268-cip77-rt34fa7861ddbe3b
cip/6.12.6.126.1.187-cip607b7e4e3640d5
cip/6.1-rt2.6.126.1.189-cip61-rt327b7e4e3640d5
cip/6.122.6.126.12.104-cip305fd7cfc708df

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.104-cip30
cip/6.1Fixed in 6.1.187-cip60
cip/6.1-rtFixed in 6.1.189-cip61-rt32
cip/5.10Fixed in 5.10.268-cip77
cip/5.10-rtFixed in 5.10.268-cip77-rt34
cip/4.19Fixed in 4.19.325-cip136
cip/4.19-rtFixed in 4.19.325-cip136-rt50
cip/4.4Fixed in 4.4.302-cip115
cip/4.4-rtFixed in 4.4.302-cip115-rt63