CVE-2026-99282net/sched: sch_teql: fix use-after-free on lower qdisc drop
- —Not scoredno CVSS score yet
- 0.16%Exploitation in 30 daysEPSS · top 95% of all CVEs
- NoKnown exploitednot in CISA's KEV catalog
- NonePublic exploitsnone known yet
Description
In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_teql: fix use-after-free on lower qdisc drop The issue: teql_master_xmit() tests the slave's ndo_start_xmit() return value against NETDEV_TX_OK alone. A slave that consumes the skb but returns an error code (rc < NET_XMIT_MASK, e.g. NET_XMIT_DROP) is treated as if the skb were still owned, so the loop restores skb->dev and calls __skb_pull() on it. A VLAN slave returns the result of dev_queue_xmit() from its ndo_start_xmit() (propagated since cbbef5e18307), and when the lower qdisc drops the packet that value is NET_XMIT_DROP after the skb has been freed, giving a use-after-free in teql_master_xmit(). The Fix: test for consumption with dev_xmit_complete(), which accepts NETDEV_TX_OK and every rc < NET_XMIT_MASK, matching other callers that need to distinguish consumed results from busy. Only NETDEV_TX_OK keeps the packet counted in tx_packets/tx_bytes and advances the slave; a consumed result that is neither a success nor NET_XMIT_CN ends the attempt and is charged to tx_dropped, so lower-qdisc drops are no longer reported as good transmits. NET_XMIT_CN is counted like success because it can accompany acceptance of the current packet: pfifo_head_drop drops the old head, enqueues the current skb and returns NET_XMIT_CN. Conditions to recreate the bug: With CONFIG_NET_SCH_TEQL, CONFIG_VLAN_8021Q and CONFIG_DUMMY enabled, add lkrdummy0 (dummy) and lkrvlan0 (VLAN id 37 on lkrdummy0); set a pfifo limit 0 root on lkrdummy0 and a teql0 root on lkrvlan0; bring teql0 up with an address and send one UDP packet to it. The VLAN xmit returns NET_XMIT_DROP from the lower qdisc while holding a freed skb.
Timeline
ID reserved
By Linux
- 43 days later
· 43 days later
Published
- 3 days later
· 3 days later
Record updated
Changes after publication (a new score, a public exploit, EPSS crossing 1, 10 or 50 %, leaving KEV) are kept since November 2026; earlier ones are not known.
Scores
No CVSS score yet: neither the CNA, CISA nor NVD has scored this CVE. NVD status: Received.
- EPSS (exploitation in 30 days)
- 0.16% · top 95% of all CVEs (12 Nov 2026)
The list uses the assigner's score when there is one, then CISA's, then NVD's: Not scored.
Affected products
- affected 572a9d7b6fc7f20f573664063324c086be310c42 – < 8d5f768780e26cb82c389219ae7fdb1cd7255421
- affected 572a9d7b6fc7f20f573664063324c086be310c42 – < fc55d92ae6a4b2e7d062cad6d4c67f6b061d9cde
- affected 572a9d7b6fc7f20f573664063324c086be310c42 – < 2702ae318630787c640ec0d0403ffd9d95c43e9e
- affected 572a9d7b6fc7f20f573664063324c086be310c42 – < 782d6bb8f9b8e9d8591181662222bf74cd3ecf79
- affected 2.6.33
- unaffected < 2.6.33
- unaffected 6.12.117 – ≤ 6.12.*
- unaffected 6.18.61 – ≤ 6.18.*
- unaffected 7.3.2 – ≤ 7.3.*
- unaffected 7.4-rc1 – ≤ *
References
References4
- https://git.kernel.org/stable/c/8d5f768780e26cb82c389219ae7fdb1cd7255421 (opens in a new tab)
- https://git.kernel.org/stable/c/fc55d92ae6a4b2e7d062cad6d4c67f6b061d9cde (opens in a new tab)
- https://git.kernel.org/stable/c/2702ae318630787c640ec0d0403ffd9d95c43e9e (opens in a new tab)
- https://git.kernel.org/stable/c/782d6bb8f9b8e9d8591181662222bf74cd3ecf79 (opens in a new tab)
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- EUVD EUVD-2026-119280 (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisories (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://cveledger.app/cve/CVE-2026-99282)Record last updated .