Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 20a785aa52c82246055a089e55df9dac47d67da1 before cbf2df9aac4202f9fb0b361a7fe8c79b29fad92c; affected 20a785aa52c82246055a089e55df9dac47d67da1 before 3205a20f837f5b1f009427ac3d9f706bf8a6fbec; affected 20a785aa52c82246055a089e55df9dac47d67da1 before 755d70ca845fd9b87c7b338ae6ae832b08cd0005; affected 20a785aa52c82246055a089e55df9dac47d67da1 before 09e7f9290d63178f56095d5c18fb9f9470153db5; affected 20a785aa52c82246055a089e55df9dac47d67da1 before e42ba56281ca3ae2dcb3558bebee9a1c9a4831d9; affected 20a785aa52c82246055a089e55df9dac47d67da1 before 00b841bac10230c557be6b38efc48508198fe23e; affected 20a785aa52c82246055a089e55df9dac47d67da1 before 3d698d1e6c8bc41e3e1707777a016f1bdd07842d; affected 20a785aa52c82246055a089e55df9dac47d67da1 before 2188569e7e1b0bc3f3b557dc97ab7a02befc11c8; affected 9c0a4652f750afe3b4468cbcd9335b244ce2facd; affected 70989e501fbce502198d82da88358ce453575a05; affected 085bb270b4b1168c93afb37bbafc881207d15443; affected 4.19.126 before 4.20; affected 5.4.44 before 5.5; affected 5.6.16 before 5.7 |
| Linux / Linux | affected 5.7; unaffected 0 before 5.7; unaffected 5.10.271 through 5.10.*; unaffected 5.15.222 through 5.15.*; unaffected 6.1.189 through 6.1.*; unaffected 6.6.158 through 6.6.*; unaffected 6.12.111 through 6.12.*; unaffected 6.18.53 through 6.18.*; unaffected 7.2.7 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
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