Skip to content
CVE PROGRAM SOURCE RECORD9.8 Critical

CVE-2026-74587

sctp: fix use-after-free of cached ASCONF chunk

Description

In the Linux kernel, the following vulnerability has been resolved: sctp: fix use-after-free of cached ASCONF chunk addip_last_asconf caches the outstanding outbound ASCONF chunk. The normal ASCONF-ACK completion path releases the chunk and clears the pointer. However, sctp_asconf_queue_teardown() releases the cached chunk without clearing addip_last_asconf. During peer restart handling, sctp_sf_do_dupcook_a() queues SCTP_CMD_PURGE_ASCONF_QUEUE, which invokes sctp_asconf_queue_teardown() while the association remains alive and leaves the pointer dangling. A delayed authenticated ASCONF-ACK can then reach sctp_sf_do_asconf_ack(), which accesses the stale chunk and passes it to sctp_process_asconf_ack(), causing a use-after-free and a second release. Clearing the pointer exposes a race with T4 expiry. Peer restart handling queues the timer stop before the purge, but SCTP_CMD_TIMER_STOP uses timer_delete(), which does not wait for a callback already running on another CPU. Such a callback can reach sctp_sf_t4_timer_expire() after the purge and dereference NULL. Clear addip_last_asconf after releasing the cached chunk, and make sctp_sf_t4_timer_expire() consume a stale T4 expiry if no outstanding ASCONF remains.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • a000c01e60e40e15304ffe48fff051d17a7bea91 to < 10459b03e2d9ee12435e96f587de4d4cacdbf435affected
  • a000c01e60e40e15304ffe48fff051d17a7bea91 to < e1bb114e09372fd6e03387ced9ef566da336ed6caffected
  • a000c01e60e40e15304ffe48fff051d17a7bea91 to < 179676f0166230c80053a392303485b37c93dd33affected
  • a000c01e60e40e15304ffe48fff051d17a7bea91 to < dc67d528c2fa939cec7fe3bf7f3089c8d281ca3daffected
  • a000c01e60e40e15304ffe48fff051d17a7bea91 to < 618b5c6d049896fcfabb91afc072954c92cb2693affected
  • a000c01e60e40e15304ffe48fff051d17a7bea91 to < 07daf4f9750104960a1d60831b2353c0d41f35fbaffected
  • a000c01e60e40e15304ffe48fff051d17a7bea91 to < d949992bc3f00027a2c755e860a11950c75f6073affected
  • a000c01e60e40e15304ffe48fff051d17a7bea91 to < 8c283e7b56adce00193837f3311b06662466fb21affected

Linux Linux

Default version status: affected

  • 3.0affected
  • 0 to < 3.0unaffected
  • 5.10.265 to ≤ 5.10.*unaffected
  • 5.15.216 to ≤ 5.15.*unaffected
  • 6.1.183 to ≤ 6.1.*unaffected
  • 6.6.152 to ≤ 6.6.*unaffected
  • 6.12.104 to ≤ 6.12.*unaffected
  • 6.18.45 to ≤ 6.18.*unaffected
  • 7.1.9 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References