CVE-2026-98130

Summary

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

sctp: fix a TOCTOU race in SCTP_CMD_TIMER_START

The SCTP_CMD_TIMER_START handler checks timer_pending() before calling timer_reduce(). The timer can expire and detach between these operations, causing timer_reduce() to rearm the timer without taking the association reference required for the newly armed timer.

The timer callback later unconditionally drops its association reference, which can leave the association reference count unbalanced and result in use-after-free during association teardown.

Use the return value of timer_reduce() to determine whether the timer was actually armed. Take the association reference only when timer_reduce() successfully starts a new timer, closing the race between checking the timer state and rearming it.

This issue was reported by Nico Yip (@cyeaa) working with TrendAI Zero Day Initiative.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux20a785aa52c82246055a089e55df9dac47d67da1 < cbf2df9aac4202f9fb0b361a7fe8c79b29fad92caffected
LinuxLinux20a785aa52c82246055a089e55df9dac47d67da1 < 3205a20f837f5b1f009427ac3d9f706bf8a6fbecaffected
LinuxLinux20a785aa52c82246055a089e55df9dac47d67da1 < 755d70ca845fd9b87c7b338ae6ae832b08cd0005affected
LinuxLinux20a785aa52c82246055a089e55df9dac47d67da1 < 09e7f9290d63178f56095d5c18fb9f9470153db5affected
LinuxLinux20a785aa52c82246055a089e55df9dac47d67da1 < e42ba56281ca3ae2dcb3558bebee9a1c9a4831d9affected
LinuxLinux20a785aa52c82246055a089e55df9dac47d67da1 < 00b841bac10230c557be6b38efc48508198fe23eaffected
LinuxLinux20a785aa52c82246055a089e55df9dac47d67da1 < 3d698d1e6c8bc41e3e1707777a016f1bdd07842daffected
LinuxLinux20a785aa52c82246055a089e55df9dac47d67da1 < 2188569e7e1b0bc3f3b557dc97ab7a02befc11c8affected
LinuxLinux9c0a4652f750afe3b4468cbcd9335b244ce2facdaffected
LinuxLinux70989e501fbce502198d82da88358ce453575a05affected
LinuxLinux085bb270b4b1168c93afb37bbafc881207d15443affected
LinuxLinux4.19.126 < 4.20affected
LinuxLinux5.4.44 < 5.5affected
LinuxLinux5.6.16 < 5.7affected
LinuxLinux5.7affected
LinuxLinux0 < 5.7unaffected
LinuxLinux5.10.271 <= 5.10.*unaffected
LinuxLinux5.15.222 <= 5.15.*unaffected
LinuxLinux6.1.189 <= 6.1.*unaffected
LinuxLinux6.6.158 <= 6.6.*unaffected
LinuxLinux6.12.111 <= 6.12.*unaffected
LinuxLinux6.18.53 <= 6.18.*unaffected
LinuxLinux7.2.7 <= 7.2.*unaffected
LinuxLinux7.3-rc2 <= *unaffected

Weaknesses

References