Description
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 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
20a785aa52c82246055a089e55df9dac47d67da1 to < cbf2df9aac4202f9fb0b361a7fe8c79b29fad92caffected20a785aa52c82246055a089e55df9dac47d67da1 to < 3205a20f837f5b1f009427ac3d9f706bf8a6fbecaffected20a785aa52c82246055a089e55df9dac47d67da1 to < 755d70ca845fd9b87c7b338ae6ae832b08cd0005affected20a785aa52c82246055a089e55df9dac47d67da1 to < 09e7f9290d63178f56095d5c18fb9f9470153db5affected20a785aa52c82246055a089e55df9dac47d67da1 to < e42ba56281ca3ae2dcb3558bebee9a1c9a4831d9affected20a785aa52c82246055a089e55df9dac47d67da1 to < 00b841bac10230c557be6b38efc48508198fe23eaffected20a785aa52c82246055a089e55df9dac47d67da1 to < 3d698d1e6c8bc41e3e1707777a016f1bdd07842daffected20a785aa52c82246055a089e55df9dac47d67da1 to < 2188569e7e1b0bc3f3b557dc97ab7a02befc11c8affected9c0a4652f750afe3b4468cbcd9335b244ce2facdaffected70989e501fbce502198d82da88358ce453575a05affected085bb270b4b1168c93afb37bbafc881207d15443affected4.19.126 to < 4.20affected5.4.44 to < 5.5affected5.6.16 to < 5.7affected
Linux Linux
Default version status: affected
5.7affected0 to < 5.7unaffected5.10.271 to ≤ 5.10.*unaffected5.15.222 to ≤ 5.15.*unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.2.7 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/cbf2df9aac4202f9fb0b361a7fe8c79b29fad92c ↗
- https://git.kernel.org/stable/c/3205a20f837f5b1f009427ac3d9f706bf8a6fbec ↗
- https://git.kernel.org/stable/c/755d70ca845fd9b87c7b338ae6ae832b08cd0005 ↗
- https://git.kernel.org/stable/c/09e7f9290d63178f56095d5c18fb9f9470153db5 ↗
- https://git.kernel.org/stable/c/e42ba56281ca3ae2dcb3558bebee9a1c9a4831d9 ↗
- https://git.kernel.org/stable/c/00b841bac10230c557be6b38efc48508198fe23e ↗
- https://git.kernel.org/stable/c/3d698d1e6c8bc41e3e1707777a016f1bdd07842d ↗
- https://git.kernel.org/stable/c/2188569e7e1b0bc3f3b557dc97ab7a02befc11c8 ↗