CVE-2024-46800
Description
In the Linux kernel, the following vulnerability has been resolved: sch/netem: fix use after free in netem_dequeue If netem_dequeue() enqueues packet to inner qdisc and that qdisc returns __NET_XMIT_STOLEN. The packet is dropped but qdisc_tree_reduce_backlog() is not called to update the parent's q.qlen, leading to the similar use-after-free as Commit e04991a48dbaf382 ("netem: fix return value if duplicate enqueue fails") Commands to trigger KASAN UaF: ip link add type dummy ip link set lo up ip link set dummy0 up tc qdisc add dev lo parent root handle 1: drr tc filter add dev lo parent 1: basic classid 1:1 tc class add dev lo classid 1:1 drr tc qdisc add dev lo parent 1:1 handle 2: netem tc qdisc add dev lo parent 2: handle 3: drr tc filter add dev lo parent 3: basic classid 3:1 action mirred egress redirect dev dummy0 tc class add dev lo classid 3:1 drr ping -c1 -W0.01 localhost # Trigger bug tc class del dev lo classid 1:1 tc class add dev lo classid 1:1 drr ping -c1 -W0.01 localhost # UaF
CVSS Details
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H Threat Intelligence
Weaknesses 1
Affected Products 13
| Vendor | Product | Version | Range |
|---|---|---|---|
| linux | linux_kernel | * | ≥3.3 – <4.19.322 |
| linux | linux_kernel | * | ≥4.20 – <5.4.284 |
| linux | linux_kernel | * | ≥5.5 – <5.10.226 |
| linux | linux_kernel | * | ≥5.11 – <5.15.167 |
| linux | linux_kernel | * | ≥5.16 – <6.1.110 |
| linux | linux_kernel | * | ≥6.2 – <6.6.51 |
| linux | linux_kernel | * | ≥6.7 – <6.10.10 |
| linux | linux_kernel | 6.11 | any |
| linux | linux_kernel | 6.11 | any |
| linux | linux_kernel | 6.11 | any |
| linux | linux_kernel | 6.11 | any |
| linux | linux_kernel | 6.11 | any |
| linux | linux_kernel | 6.11 | any |
References 10
- git.kernel.org https://git.kernel.org/stable/c/14f91ab8d391f249b845916820a56f42cf747241
- git.kernel.org https://git.kernel.org/stable/c/295ad5afd9efc5f67b86c64fce28fb94e26dc4c9
- git.kernel.org https://git.kernel.org/stable/c/32008ab989ddcff1a485fa2b4906234c25dc5cd6
- git.kernel.org https://git.kernel.org/stable/c/3b3a2a9c6349e25a025d2330f479bc33a6ccb54a
- git.kernel.org https://git.kernel.org/stable/c/98c75d76187944296068d685dfd8a1e9fd8c4fdc
- git.kernel.org https://git.kernel.org/stable/c/db2c235682913a63054e741fe4e19645fdf2d68e
- git.kernel.org https://git.kernel.org/stable/c/dde33a9d0b80aae0c69594d1f462515d7ff1cb3d
- git.kernel.org https://git.kernel.org/stable/c/f0bddb4de043399f16d1969dad5ee5b984a64e7b
- lists.debian.org https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html
- lists.debian.org https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
Remediation
- git.kernel.org https://git.kernel.org/stable/c/14f91ab8d391f249b845916820a56f42cf747241
- git.kernel.org https://git.kernel.org/stable/c/295ad5afd9efc5f67b86c64fce28fb94e26dc4c9
- git.kernel.org https://git.kernel.org/stable/c/32008ab989ddcff1a485fa2b4906234c25dc5cd6
- git.kernel.org https://git.kernel.org/stable/c/3b3a2a9c6349e25a025d2330f479bc33a6ccb54a
- git.kernel.org https://git.kernel.org/stable/c/98c75d76187944296068d685dfd8a1e9fd8c4fdc
- git.kernel.org https://git.kernel.org/stable/c/db2c235682913a63054e741fe4e19645fdf2d68e
- git.kernel.org https://git.kernel.org/stable/c/dde33a9d0b80aae0c69594d1f462515d7ff1cb3d
- git.kernel.org https://git.kernel.org/stable/c/f0bddb4de043399f16d1969dad5ee5b984a64e7b