High · published May 20, 2025
In the Linux kernel, the following vulnerability has been resolved:
net_sched: qfq: Fix double list add in class with netem as child qdisc
As described in Gerrard's report [1], there are use cases where a netem
child qdisc will make the parent qdisc's enqueue callback reentrant.
In the case of qfq, there won't be a UAF, but the code will add the same
classifier to the list twice, which will cause memory corruption.
This patch checks whether the class was already added to the agg->active
list (cl_is_active) before doing the addition to cater for the reentrant
case.
[1] https://lore.kernel.org/netdev/CAHcdcOm+03OD2j6R0=YHKqmy=VgJ8xEOKuP6c7mSgnp-TEJJbw@mail.gmail.com/
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 5.0.1, < 5.4.294 | 5.4.294 |
| linux/linux_kernel | ≥ 5.5, < 5.10.238 | 5.10.238 |
| linux/linux_kernel | ≥ 5.11, < 5.15.182 | 5.15.182 |
| linux/linux_kernel | ≥ 5.16, < 6.1.138 | 6.1.138 |
| linux/linux_kernel | ≥ 6.2, < 6.6.90 | 6.6.90 |
| linux/linux_kernel | ≥ 6.7, < 6.12.28 | 6.12.28 |
| linux/linux_kernel | ≥ 6.13, < 6.14.6 | 6.14.6 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| debian/debian_linux | all versions | — |