CVE-2023-53624

Summary

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 Software

VendorProductVersion RangeStatus
LinuxLinuxafe4fd062416b158a8a8538b23adc1930a9b88dc < 4b8a05e3801661a0438fcd0cdef181030d966a5aaffected
LinuxLinuxafe4fd062416b158a8a8538b23adc1930a9b88dc < d0b43125ec892aeb1b03e5df5aab595097da225aaffected
LinuxLinuxafe4fd062416b158a8a8538b23adc1930a9b88dc < 4fbefeab88c6e79753a25099d455d3d59d2946b4affected
LinuxLinuxafe4fd062416b158a8a8538b23adc1930a9b88dc < 85f24cb2f10b2b0f2882e5786a09b4790bb3a0adaffected
LinuxLinuxafe4fd062416b158a8a8538b23adc1930a9b88dc < 2322462d6f9ad4874f4e3c63df3b5cc00cb1acbdaffected
LinuxLinuxafe4fd062416b158a8a8538b23adc1930a9b88dc < 7041101ff6c3073fd8f2e99920f535b111c929cbaffected
LinuxLinux3.12affected
LinuxLinux0 < 3.12unaffected
LinuxLinux5.10.180 <= 5.10.*unaffected
LinuxLinux5.15.111 <= 5.15.*unaffected
LinuxLinux6.1.28 <= 6.1.*unaffected
LinuxLinux6.2.15 <= 6.2.*unaffected
LinuxLinux6.3.2 <= 6.3.*unaffected
LinuxLinux6.4 <= *unaffected

Weaknesses

References