KernelScan.io

CRITICAL Introduced in 2.6.12

sctp AddrParam OOB

CVE-2026-74287

CVSS 9.1 / 10.0 NVD

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

KernelScan AI9.1CRITICAL

01

In the Linux kernel, the following vulnerability has been resolved: sctp: validate embedded address parameter length sctp_verify_asconf() and sctp_verify_param() only validate ADD_IP, DEL_IP, and SET_PRIMARY parameters against a fixed minimum size of sizeof(struct sctp_addip_param) + sizeof(struct sctp_paramhdr). This ensures the outer parameter is large enough to contain an embedded address parameter header, but does not verify that the embedded address parameter's declared length fits within the bounds of the outer parameter. Later, sctp_process_param() and sctp_process_asconf_param() extract the embedded address parameter and pass it to af->from_addr_param(), which uses the address parameter length to parse the variable-length address payload. A malformed peer can therefore advertise an embedded address parameter length that exceeds the remaining bytes in the enclosing parameter. Validate that addr_param->p.length does not exceed the space available after the sctp_addip_param header before processing the embedded address parameter. Reject malformed parameters when the embedded address length extends beyond the enclosing parameter bounds. This prevents out-of-bounds reads when parsing malformed parameters carried in INIT or ASCONF processing paths.

02

Engine v0.6.0

Risk summary

A remote, unauthenticated attacker can send a malformed SCTP INIT or ASCONF chunk to trigger an out-of-bounds read in the kernel's SCTP parameter parser. The read length is attacker-controlled, enabling potential disclosure of kernel memory or a kernel panic. Any device with a reachable SCTP endpoint is affected.

Affectednet/sctp/sm_make_chunk.c (sctp)

Vulnerability analysis

The SCTP protocol stack validates incoming protocol parameters during connection setup and address reconfiguration, but only checks that the outer parameter is large enough to hold an embedded address header — it does not verify that the embedded address parameter's declared length stays within the outer parameter's bounds. When the address is later parsed, the declared length can cause the parser to read past the end of the parameter buffer into adjacent kernel memory. A remote peer can trigger this by sending a malformed INIT or ASCONF chunk, requiring no authentication or privileges — only network reachability to an SCTP endpoint. The fix adds a bounds check that rejects parameters where the embedded address length exceeds the available space, preventing the out-of-bounds read before the address parsing code is reached.

03

BranchIntroducedFixed inPatch commit
5.102.6.125.10.26106c8bf48505f
5.152.6.125.15.21228ba1d3c9566
6.12.6.126.1.1783a44b2602d57
6.122.6.126.12.9792e4adfee56f
6.182.6.126.18.40ed8605c6f39b
6.62.6.126.6.14585f54cf58916
7.12.6.127.1.50c674b20c9cd
mainline2.6.127.2e9361d0ca55c
cip/4.192.6.124.19.325-cip1361de3e25e1186
cip/4.19-rt2.6.124.19.325-cip136-rt501de3e25e1186
cip/4.42.6.124.4.302-cip1155fc64dd3ea0c
cip/4.4-rt2.6.124.4.302-cip115-rt635fc64dd3ea0c
cip/5.102.6.125.10.263-cip7606c8bf48505f
cip/5.10-rt2.6.125.10.268-cip77-rt3406c8bf48505f
cip/6.12.6.126.1.182-cip593a44b2602d57
cip/6.1-rt2.6.126.1.182-cip59-rt313a44b2602d57
cip/6.122.6.126.12.101-cip2992e4adfee56f

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.101-cip29
cip/6.1Fixed in 6.1.182-cip59
cip/6.1-rtFixed in 6.1.182-cip59-rt31
cip/5.10Fixed in 5.10.263-cip76
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