Description
In the Linux kernel, the following vulnerability has been resolved: bpf: Add bpf_prog_run_data_pointers() syzbot found that cls_bpf_classify() is able to change tc_skb_cb(skb)->drop_reason triggering a warning in sk_skb_reason_drop(). WARNING: CPU: 0 PID: 5965 at net/core/skbuff.c:1192 __sk_skb_reason_drop net/core/skbuff.c:1189 [inline] WARNING: CPU: 0 PID: 5965 at net/core/skbuff.c:1192 sk_skb_reason_drop+0x76/0x170 net/core/skbuff.c:1214 struct tc_skb_cb has been added in commit ec624fe740b4 ("net/sched: Extend qdisc control block with tc control block"), which added a wrong interaction with db58ba459202 ("bpf: wire in data and data_end for cls_act_bpf"). drop_reason was added later. Add bpf_prog_run_data_pointers() helper to save/restore the net_sched storage colliding with BPF data_meta/data_end.
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
0d76daf2013ce1da20eab5e26bd81d983e1c18fb to < c4cdd143c35974a2cedd000fa9eb3accc3023b20affectedec624fe740b416fb68d536b37fb8eef46f90b5c2 to < 5e149d8a8e732126fb6014efd60075cf63a73f91affectedec624fe740b416fb68d536b37fb8eef46f90b5c2 to < baa61dcaa50b7141048c8d2aede7fe9ed8f21d11affectedec624fe740b416fb68d536b37fb8eef46f90b5c2 to < 6392e5f4b1a3cce10e828309baf35d22abd3457daffectedec624fe740b416fb68d536b37fb8eef46f90b5c2 to < 8dd2fe5f5d586c8e87307b7a271f6b994afcc006affectedec624fe740b416fb68d536b37fb8eef46f90b5c2 to < 4ef92743625818932b9c320152b58274c05e5053affected5.15.13 to < 5.15.197affected
Linux Linux
Default version status: affected
5.16affected0 to < 5.16unaffected5.15.197 to ≤ 5.15.*unaffected6.1.159 to ≤ 6.1.*unaffected6.6.117 to ≤ 6.6.*unaffected6.12.59 to ≤ 6.12.*unaffected6.17.9 to ≤ 6.17.*unaffected6.18 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/c4cdd143c35974a2cedd000fa9eb3accc3023b20 ↗
- https://git.kernel.org/stable/c/5e149d8a8e732126fb6014efd60075cf63a73f91 ↗
- https://git.kernel.org/stable/c/baa61dcaa50b7141048c8d2aede7fe9ed8f21d11 ↗
- https://git.kernel.org/stable/c/6392e5f4b1a3cce10e828309baf35d22abd3457d ↗
- https://git.kernel.org/stable/c/8dd2fe5f5d586c8e87307b7a271f6b994afcc006 ↗
- https://git.kernel.org/stable/c/4ef92743625818932b9c320152b58274c05e5053 ↗