In the Linux kernel, the following vulnerability has been resolved:
net/sched: taprio: extend minimum interval restriction to entire cycle too
It is possible for syzbot to side-step the restriction imposed by the
blamed commit in the Fixes: tag, because the taprio UAPI permits a
cycle-time different from (and potentially shorter than) the sum of entry
intervals. We need one more restriction, which is that the cycle time
itself must be larger than N * ETH_ZLEN bit times, where N is the number of
schedule entries. This restriction needs to apply regardless of whether the
cycle time came from the user or was the implicit, auto-calculated value,
so we move the existing “cycle == 0” check outside the "if
“(!new->cycle_time)” branch. This way covers both conditions and scenarios.
Add a selftest which illustrates the issue triggered by syzbot.
OS | Version | Architecture | Package | Version | Filename |
---|---|---|---|---|---|
ubuntu | 20.04 | noarch | linux | < any | UNKNOWN |
ubuntu | 22.04 | noarch | linux | < any | UNKNOWN |
ubuntu | 24.04 | noarch | linux | < any | UNKNOWN |
ubuntu | 20.04 | noarch | linux-aws | < any | UNKNOWN |
ubuntu | 22.04 | noarch | linux-aws | < any | UNKNOWN |
ubuntu | 24.04 | noarch | linux-aws | < any | UNKNOWN |
ubuntu | 20.04 | noarch | linux-aws-5.15 | < any | UNKNOWN |
ubuntu | 22.04 | noarch | linux-aws-6.5 | < any | UNKNOWN |
ubuntu | 20.04 | noarch | linux-azure | < any | UNKNOWN |
ubuntu | 22.04 | noarch | linux-azure | < any | UNKNOWN |
git.kernel.org/linus/fb66df20a7201e60f2b13d7f95d031b31a8831d3 (6.10-rc2)
git.kernel.org/stable/c/91f249b01fe490fce11fbb4307952ca8cce78724
git.kernel.org/stable/c/b939d1e04a90248b4cdf417b0969c270ceb992b2
git.kernel.org/stable/c/fb66df20a7201e60f2b13d7f95d031b31a8831d3
launchpad.net/bugs/cve/CVE-2024-36244
nvd.nist.gov/vuln/detail/CVE-2024-36244
security-tracker.debian.org/tracker/CVE-2024-36244
www.cve.org/CVERecord?id=CVE-2024-36244