Description
In the Linux kernel, the following vulnerability has been resolved: net/sched: fix packet loop on netem when duplicate is on When netem duplicates a packet it re-enqueues the copy at the root qdisc. If another netem sits in the tree the copy can be duplicated again, recursing until the stack or memory is exhausted. The original duplication guard temporarily zeroed q->duplicate around the re-enqueue, but that does not cover all cases because it is per-qdisc state shared across all concurrent enqueue paths and is not safe without additional locking. Use the skb tc_depth field introduced in an earlier patch: - increment it on the duplicate before re-enqueue - skip duplication for any skb whose tc_depth is already non-zero. This marks the packet itself rather than mutating qdisc state, therefore it is safe regardless of tree topology or concurrency.
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
0afb51e72855971dba83b3c6b70c547c2d1161fd to < 1a298a514ce766c6d0c232991a390fec67af81adaffected0afb51e72855971dba83b3c6b70c547c2d1161fd to < 4ec3a8ca97394f17e73a4d8d4c79c1c78b322772affected0afb51e72855971dba83b3c6b70c547c2d1161fd to < cfb2616042767ab31260d4f39190c381bec8b12eaffected0afb51e72855971dba83b3c6b70c547c2d1161fd to < 9552b11e3edabc97cfcd9f29103d5afbce7ae183affected
Linux Linux
Default version status: affected
2.6.12affected0 to < 2.6.12unaffected6.12.93 to ≤ 6.12.*unaffected6.18.57 to ≤ 6.18.*unaffected7.0.12 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected