Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_fq: fix integer overflow of "credit" if sch_fq is configured with "initial quantum" having values greater than INT_MAX, the first assignment of "credit" does signed integer overflow to a very negative value. In this situation, the syzkaller script provided by Cristoph triggers the CPU soft-lockup warning even with few sockets. It's not an infinite loop, but "credit" wasn't probably meant to be minus 2Gb for each new flow. Capping "initial quantum" to INT_MAX proved to fix the issue. v2: validation of "initial quantum" is done in fq_policy, instead of open coding in fq_change() _ suggested by Jakub Kicinski
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected afe4fd062416b158a8a8538b23adc1930a9b88dc before 4b8a05e3801661a0438fcd0cdef181030d966a5a; affected afe4fd062416b158a8a8538b23adc1930a9b88dc before d0b43125ec892aeb1b03e5df5aab595097da225a; affected afe4fd062416b158a8a8538b23adc1930a9b88dc before 4fbefeab88c6e79753a25099d455d3d59d2946b4; affected afe4fd062416b158a8a8538b23adc1930a9b88dc before 85f24cb2f10b2b0f2882e5786a09b4790bb3a0ad; affected afe4fd062416b158a8a8538b23adc1930a9b88dc before 2322462d6f9ad4874f4e3c63df3b5cc00cb1acbd; affected afe4fd062416b158a8a8538b23adc1930a9b88dc before 7041101ff6c3073fd8f2e99920f535b111c929cb |
| Linux / Linux | affected 3.12; unaffected 0 before 3.12; unaffected 5.10.180 through 5.10.*; unaffected 5.15.111 through 5.15.*; unaffected 6.1.28 through 6.1.*; unaffected 6.2.15 through 6.2.*; unaffected 6.3.2 through 6.3.*; unaffected 6.4 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/4b8a05e3801661a0438fcd0cdef181030d966a5a
- https://git.kernel.org/stable/c/d0b43125ec892aeb1b03e5df5aab595097da225a
- https://git.kernel.org/stable/c/4fbefeab88c6e79753a25099d455d3d59d2946b4
- https://git.kernel.org/stable/c/85f24cb2f10b2b0f2882e5786a09b4790bb3a0ad
- https://git.kernel.org/stable/c/2322462d6f9ad4874f4e3c63df3b5cc00cb1acbd
- https://git.kernel.org/stable/c/7041101ff6c3073fd8f2e99920f535b111c929cb