Description
In the Linux kernel, the following vulnerability has been resolved: net/sched: cake: reject overhead values that underflow length CAKE accepts signed overhead values and stores them in an s16, but the adjusted packet length calculation uses unsigned arithmetic. A negative effective length can therefore wrap to a large value. Such configurations make rate accounting depend on integer wraparound rather than on the packet size userspace intended to model. A static netlink lower bound is not enough because packets reaching CAKE can be smaller than any reasonable manual-overhead allowance. Fold the signed overhead adjustment into the existing datapath MPU clamp so negative adjusted lengths are clamped before link-layer framing adjustments.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
a729b7f0bd5bf4919306556aed614438f5174537 to < f511dd7bf6077aa7afbe72914520553fedaacbb4affecteda729b7f0bd5bf4919306556aed614438f5174537 to < e1df6cff03aad8c96e55a8b2a991e505c7a3ff6faffecteda729b7f0bd5bf4919306556aed614438f5174537 to < 297f459865360b46a887667cbf3aac6a6f013841affecteda729b7f0bd5bf4919306556aed614438f5174537 to < 336c1e414fc0e9844d445174e8ada2a7dd8d1c4baffecteda729b7f0bd5bf4919306556aed614438f5174537 to < bcdf3a3664f7d2c4e37e155f30f72ef33f041804affecteda729b7f0bd5bf4919306556aed614438f5174537 to < 7aa0e64fea778a9e3df73e64da95367ff8ad2ea5affecteda729b7f0bd5bf4919306556aed614438f5174537 to < f1e7807df5bf2d42a40266430e9f82f37633cdcfaffecteda729b7f0bd5bf4919306556aed614438f5174537 to < b7f97cae7ec1b6c3c32843c42be218690d310467affected
Linux Linux
Default version status: affected
4.19affected0 to < 4.19unaffected5.10.261 to ≤ 5.10.*unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/f511dd7bf6077aa7afbe72914520553fedaacbb4 ↗
- https://git.kernel.org/stable/c/e1df6cff03aad8c96e55a8b2a991e505c7a3ff6f ↗
- https://git.kernel.org/stable/c/297f459865360b46a887667cbf3aac6a6f013841 ↗
- https://git.kernel.org/stable/c/336c1e414fc0e9844d445174e8ada2a7dd8d1c4b ↗
- https://git.kernel.org/stable/c/bcdf3a3664f7d2c4e37e155f30f72ef33f041804 ↗
- https://git.kernel.org/stable/c/7aa0e64fea778a9e3df73e64da95367ff8ad2ea5 ↗
- https://git.kernel.org/stable/c/f1e7807df5bf2d42a40266430e9f82f37633cdcf ↗
- https://git.kernel.org/stable/c/b7f97cae7ec1b6c3c32843c42be218690d310467 ↗