CVE-2026-64551

sctp: validate STALE_COOKIE cause length before reading staleness

State
Published
Severity
9.1 Critical
Published
Jul 27, 2026
Updated
Oct 19, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

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

sctp: validate STALE_COOKIE cause length before reading staleness

When an ERROR chunk with a STALE_COOKIE cause is received in the COOKIE_ECHOED state, sctp_sf_do_5_2_6_stale() reads the 4-byte Measure of Staleness that follows the cause header:

err = (struct sctp_errhdr *)(chunk->skb->data); stale = ntohl(*(__be32 *)((u8 *)err + sizeof(*err)));

err is the first cause in the chunk, not the STALE_COOKIE cause that caused the dispatch, and nothing guarantees the staleness field is present. sctp_walk_errors() only requires a cause to be as long as the 4-byte header, so for a STALE_COOKIE cause of length 4 the read runs past the cause, and for a minimal ERROR chunk past skb->tail. The value is echoed to the peer in the Cookie Preservative of the reply INIT, leaking uninitialized memory.

sctp_sf_cookie_echoed_err() already walks to the STALE_COOKIE cause, so check its length there and pass it to sctp_sf_do_5_2_6_stale(), which reads that cause instead of the first one. A STALE_COOKIE cause too short to hold the staleness field is discarded.

The read is reachable by any peer that can drive an association into COOKIE_ECHOED, including an unprivileged process using a raw SCTP socket in a user and network namespace.

Scores

CVSSScoreVectorSource
3.19.1 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HLinux

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 6022da37786701df1fc5dd946a6dcba59d5473b1Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 861f884f5471632c731cbbd612a1c072e391a624Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 588706ebaf8cdb4a4161602949eba365514b1db1Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before a257b41ddfe9e327b26581ad2777f04b23ac73f5Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 08a8f2d13f703924316e9aeac863a88ef50990c7Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before ebe0a55d954fa8da383b6192edb8f763dcb002d5Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before bbd6b2ea966cf57b6ae095cf5a8dbc993cd197a0Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 1cd23ca80784223fa2204e16203f754da4e821f8Affected
LinuxLinux
  • 2.6.12Affected
  • before 2.6.12Not affected
  • 5.10.261 through 5.10.*Not affected
  • 5.15.212 through 5.15.*Not affected
  • 6.1.178 through 6.1.*Not affected
  • 6.6.145 through 6.6.*Not affected
  • 6.12.97 through 6.12.*Not affected
  • 6.18.40 through 6.18.*Not affected
  • 7.1.5 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.