HIGH Introduced in 2.6.12
sctp AdaptationIndication OOB
CVE-2026-80717
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
KernelScan AI5.3MEDIUM
01Description
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.
02KernelScan AI Analysis
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.
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.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 5.10 | 2.6.12 | 5.10.265 | fa7861ddbe3b |
| 5.15 | 2.6.12 | 5.15.216 | 4c92c601c061 |
| 6.1 | 2.6.12 | 6.1.183 | 7b7e4e3640d5 |
| 6.12 | 2.6.12 | 6.12.103 | 5fd7cfc708df |
| 6.18 | 2.6.12 | 6.18.44 | 17b412468c7a |
| 6.6 | 2.6.12 | 6.6.151 | 93942b5772e0 |
| 7.1 | 2.6.12 | 7.1.8 | bfa28cf99eb4 |
| mainline | 2.6.12 | 7.2 | 74b21f52c5c5 |
| cip/4.19 | 2.6.12 | 4.19.325-cip136 | f75508ffc278 |
| cip/4.19-rt | 2.6.12 | 4.19.325-cip136-rt50 | f75508ffc278 |
| cip/4.4 | 2.6.12 | 4.4.302-cip115 | fd8f91f7a1f1 |
| cip/4.4-rt | 2.6.12 | 4.4.302-cip115-rt63 | fd8f91f7a1f1 |
| cip/5.10 | 2.6.12 | 5.10.268-cip77 | fa7861ddbe3b |
| cip/5.10-rt | 2.6.12 | 5.10.268-cip77-rt34 | fa7861ddbe3b |
| cip/6.1 | 2.6.12 | 6.1.187-cip60 | 7b7e4e3640d5 |
| cip/6.1-rt | 2.6.12 | 6.1.189-cip61-rt32 | 7b7e4e3640d5 |
| cip/6.12 | 2.6.12 | 6.12.104-cip30 | 5fd7cfc708df |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Fixed in 6.12.104-cip30 |
| cip/6.1 | Fixed in 6.1.187-cip60 |
| cip/6.1-rt | Fixed in 6.1.189-cip61-rt32 |
| cip/5.10 | Fixed in 5.10.268-cip77 |
| cip/5.10-rt | Fixed in 5.10.268-cip77-rt34 |
| cip/4.19 | Fixed in 4.19.325-cip136 |
| cip/4.19-rt | Fixed in 4.19.325-cip136-rt50 |
| cip/4.4 | Fixed in 4.4.302-cip115 |
| cip/4.4-rt | Fixed in 4.4.302-cip115-rt63 |