In the Linux kernel, the following vulnerability has been resolved: net_sched: ets: fix a race in ets_qdisc_change() Gerrard Tai reported a race condition in ETS, whenever SFQ perturb timer fires at the wrong time. The race is as follows: CPU 0 CPU 1 [1]: lock root [2]: qdisc_tree_flush_backlog() [3]: unlock root | | [5]: lock root | [6]: rehash | [7]: qdisc_tree_reduce_backlog() | [4]: qdisc_put() This can be abused to underflow a parent's qlen. Calling qdisc_purge_queue() instead of qdisc_tree_flush_backlog() should fix the race, because all packets will be purged from the qdisc before releasing the lock.
| Product | Vendor | Version |
|---|---|---|
| Linux | Linux | Windows 10 Version 1607 for x64-based Systems |
| Linux | Linux | Windows 10 Version 1703 for 32-bit Systems |
| Linux | Linux | n/a |
| Linux | Linux | 10 Version 1803 for x64-based Systems |