Bug 2492095 (CVE-2026-52924) - CVE-2026-52924 kernel: sctp: purge outqueue on stale COOKIE-ECHO handling
Summary: CVE-2026-52924 kernel: sctp: purge outqueue on stale COOKIE-ECHO handling
Keywords:
Status: NEW
Alias: CVE-2026-52924
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-06-24 08:01 UTC by OSIDB Bzimport
Modified: 2026-09-08 05:25 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2026:59723 0 None None None 2026-08-26 04:35:23 UTC
Red Hat Product Errata RHSA-2026:59737 0 None None None 2026-08-26 03:58:46 UTC
Red Hat Product Errata RHSA-2026:59821 0 None None None 2026-08-26 05:34:17 UTC

Description OSIDB Bzimport 2026-06-24 08:01:45 UTC
In the Linux kernel, the following vulnerability has been resolved:

sctp: purge outqueue on stale COOKIE-ECHO handling

sctp_stream_update() is only invoked when the association is moved into
COOKIE_WAIT during association setup/reconfiguration. In this path, the
outbound stream scheduler state (stream->out_curr) is expected to be
clean, since no user data should have been transmitted yet unless the
state machine has already partially progressed.

However, a corner case exists in sctp_sf_do_5_2_6_stale(): when a
Stale Cookie ERROR is received, the association is rolled back from
COOKIE_ECHOED to COOKIE_WAIT. In this scenario, user data may already
have been queued and even bundled with the COOKIE-ECHO chunk.

During the rollback, sctp_stream_update() frees the old stream table
and installs a new one, but it does not invalidate stream->out_curr.
As a result, out_curr may still point to a freed sctp_stream_out
entry from the previous stream state.

Later, SCTP scheduler dequeue paths (FCFS, RR, PRIO, etc.) rely on
stream->out_curr->ext, which can lead to use-after-free once the old
stream state has been released via sctp_stream_free().

This results in crashes such as (reported by Yuqi):

  BUG: KASAN: slab-use-after-free in sctp_sched_fcfs_dequeue+0x13a/0x140
  Read of size 8 at addr ff1100004d4d3208 by task mini_poc/9312
  CPU: 1 UID: 1001 PID: 9312 Comm: mini_poc Not tainted
     7.1.0-rc1-00305-gbd3a4795d574 #5 PREEMPT(full)
   sctp_sched_fcfs_dequeue+0x13a/0x140
   sctp_outq_flush+0x1603/0x33e0
   sctp_do_sm+0x31c9/0x5d30
   sctp_assoc_bh_rcv+0x392/0x6f0
   sctp_inq_push+0x1db/0x270
   sctp_rcv+0x138d/0x3c10

Fix this by fully purging the association outqueue when handling the
Stale Cookie case. This ensures all pending transmit and retransmit
state is dropped, and any scheduler cached pointers are invalidated,
making it safe to rebuild stream state during COOKIE_WAIT restart.

Updating only stream->out_curr would be insufficient, since queued
and retransmittable data would still reference the old stream state and
trigger later use-after-free in dequeue paths.

Comment 1 Mauro Matteo Cascella 2026-06-24 16:51:42 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2026062431-CVE-2026-52924-9f0b@gregkh/T

Comment 3 errata-xmlrpc 2026-08-26 03:58:45 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:59737 https://access.redhat.com/errata/RHSA-2026:59737

Comment 4 errata-xmlrpc 2026-08-26 04:35:22 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2026:59723 https://access.redhat.com/errata/RHSA-2026:59723

Comment 5 errata-xmlrpc 2026-08-26 05:34:16 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:59821 https://access.redhat.com/errata/RHSA-2026:59821

Comment 6 Akiyoshi Kurita 2026-09-04 03:25:06 UTC
Public exploit/PoC code for CVE-2026-52924 has been released.

Red Hat CVE:
https://access.redhat.com/security/cve/cve-2026-52924

Public exploit/PoC:

Ubuntu 7.0.0-28:
https://github.com/NebuSec/CyberMeowfia/tree/main/security-research/Linux-CVE-2026-52924-ubuntu-7.0.0-28

Arch Linux 6.19.10:
https://github.com/NebuSec/CyberMeowfia/tree/main/security-research/Linux-CVE-2026-52924-Arch-6.19.10

A demonstration video has also been published:
https://x.com/cybermeowfia/status/2095706087064527011

Possible fix for RHEL 10 (Linux 6.12.94 stable backport):
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1d4652f677906a64487c13f9ace54b0eb263b5d0

Possible mitigation for systems that do not require SCTP:

echo "install sctp /bin/true" > /etc/modprobe.d/disable-sctp.conf

This mitigation disables the SCTP kernel module and should only be used on systems where SCTP is not required.

Please review the affected RHEL releases and current impact assessment in light of the publicly available exploit/PoC and demonstration video.


Note You need to log in before you can comment on or make changes to this bug.