{"id":"CVE-2026-23449","summary":"net/sched: teql: Fix double-free in teql_master_xmit","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: teql: Fix double-free in teql_master_xmit\n\nWhenever a TEQL devices has a lockless Qdisc as root, qdisc_reset should\nbe called using the seq_lock to avoid racing with the datapath. Failure\nto do so may cause crashes like the following:\n\n[  238.028993][  T318] BUG: KASAN: double-free in skb_release_data (net/core/skbuff.c:1139)\n[  238.029328][  T318] Free of addr ffff88810c67ec00 by task poc_teql_uaf_ke/318\n[  238.029749][  T318]\n[  238.029900][  T318] CPU: 3 UID: 0 PID: 318 Comm: poc_teql_ke Not tainted 7.0.0-rc3-00149-ge5b31d988a41 #704 PREEMPT(full)\n[  238.029906][  T318] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011\n[  238.029910][  T318] Call Trace:\n[  238.029913][  T318]  \u003cTASK\u003e\n[  238.029916][  T318]  dump_stack_lvl (lib/dump_stack.c:122)\n[  238.029928][  T318]  print_report (mm/kasan/report.c:379 mm/kasan/report.c:482)\n[  238.029940][  T318]  ? skb_release_data (net/core/skbuff.c:1139)\n[  238.029944][  T318]  ? srso_alias_return_thunk (arch/x86/lib/retpoline.S:221)\n...\n[  238.029957][  T318]  ? skb_release_data (net/core/skbuff.c:1139)\n[  238.029969][  T318]  kasan_report_invalid_free (mm/kasan/report.c:221 mm/kasan/report.c:563)\n[  238.029979][  T318]  ? skb_release_data (net/core/skbuff.c:1139)\n[  238.029989][  T318]  check_slab_allocation (mm/kasan/common.c:231)\n[  238.029995][  T318]  kmem_cache_free (mm/slub.c:2637 (discriminator 1) mm/slub.c:6168 (discriminator 1) mm/slub.c:6298 (discriminator 1))\n[  238.030004][  T318]  skb_release_data (net/core/skbuff.c:1139)\n...\n[  238.030025][  T318]  sk_skb_reason_drop (net/core/skbuff.c:1256)\n[  238.030032][  T318]  pfifo_fast_reset (./include/linux/ptr_ring.h:171 ./include/linux/ptr_ring.h:309 ./include/linux/skb_array.h:98 net/sched/sch_generic.c:827)\n[  238.030039][  T318]  ? srso_alias_return_thunk (arch/x86/lib/retpoline.S:221)\n...\n[  238.030054][  T318]  qdisc_reset (net/sched/sch_generic.c:1034)\n[  238.030062][  T318]  teql_destroy (./include/linux/spinlock.h:395 net/sched/sch_teql.c:157)\n[  238.030071][  T318]  __qdisc_destroy (./include/net/pkt_sched.h:328 net/sched/sch_generic.c:1077)\n[  238.030077][  T318]  qdisc_graft (net/sched/sch_api.c:1062 net/sched/sch_api.c:1053 net/sched/sch_api.c:1159)\n[  238.030089][  T318]  ? __pfx_qdisc_graft (net/sched/sch_api.c:1091)\n[  238.030095][  T318]  ? srso_alias_return_thunk (arch/x86/lib/retpoline.S:221)\n[  238.030102][  T318]  ? srso_alias_return_thunk (arch/x86/lib/retpoline.S:221)\n[  238.030106][  T318]  ? srso_alias_return_thunk (arch/x86/lib/retpoline.S:221)\n[  238.030114][  T318]  tc_get_qdisc (net/sched/sch_api.c:1529 net/sched/sch_api.c:1556)\n...\n[  238.072958][  T318] Allocated by task 303 on cpu 5 at 238.026275s:\n[  238.073392][  T318]  kasan_save_stack (mm/kasan/common.c:58)\n[  238.073884][  T318]  kasan_save_track (mm/kasan/common.c:64 (discriminator 5) mm/kasan/common.c:79 (discriminator 5))\n[  238.074230][  T318]  __kasan_slab_alloc (mm/kasan/common.c:369)\n[  238.074578][  T318]  kmem_cache_alloc_node_noprof (./include/linux/kasan.h:253 mm/slub.c:4542 mm/slub.c:4869 mm/slub.c:4921)\n[  238.076091][  T318]  kmalloc_reserve (net/core/skbuff.c:616 (discriminator 107))\n[  238.076450][  T318]  __alloc_skb (net/core/skbuff.c:713)\n[  238.076834][  T318]  alloc_skb_with_frags (./include/linux/skbuff.h:1383 net/core/skbuff.c:6763)\n[  238.077178][  T318]  sock_alloc_send_pskb (net/core/sock.c:2997)\n[  238.077520][  T318]  packet_sendmsg (net/packet/af_packet.c:2926 net/packet/af_packet.c:3019 net/packet/af_packet.c:3108)\n[  238.081469][  T318]\n[  238.081870][  T318] Freed by task 299 on cpu 1 at 238.028496s:\n[  238.082761][  T318]  kasan_save_stack (mm/kasan/common.c:58)\n[  238.083481][  T318]  kasan_save_track (mm/kasan/common.c:64 (discriminator 5) mm/kasan/common.c:79 (discriminator 5))\n[  238.085348][  T318]  kasan_save_free_info (mm/kasan/generic.c:587 (discriminator 1))\n[  238.085900][  T318]  __kasan_slab_free (mm/\n---truncated---","modified":"2026-09-10T18:26:45.789562452Z","published":"2026-04-03T15:15:32.150Z","related":["SUSE-SU-2026:2068-1","SUSE-SU-2026:2111-1","SUSE-SU-2026:21834-1","SUSE-SU-2026:21841-1","SUSE-SU-2026:21845-1","SUSE-SU-2026:21860-1","SUSE-SU-2026:21876-1","SUSE-SU-2026:21877-1","SUSE-SU-2026:21916-1","SUSE-SU-2026:21919-1","SUSE-SU-2026:2195-1","SUSE-SU-2026:2202-1","SUSE-SU-2026:2215-1","SUSE-SU-2026:2216-1","SUSE-SU-2026:2217-1","SUSE-SU-2026:2238-1","SUSE-SU-2026:23261-1","SUSE-SU-2026:23262-1","SUSE-SU-2026:23263-1","SUSE-SU-2026:23264-1","SUSE-SU-2026:23265-1","SUSE-SU-2026:23266-1","SUSE-SU-2026:23267-1","SUSE-SU-2026:23268-1","SUSE-SU-2026:23269-1","SUSE-SU-2026:23270-1","SUSE-SU-2026:23271-1","SUSE-SU-2026:23272-1","SUSE-SU-2026:23282-1","SUSE-SU-2026:23283-1","SUSE-SU-2026:23284-1","SUSE-SU-2026:23285-1","SUSE-SU-2026:23286-1","SUSE-SU-2026:23287-1","SUSE-SU-2026:23288-1","SUSE-SU-2026:23290-1","SUSE-SU-2026:23291-1","SUSE-SU-2026:23292-1","SUSE-SU-2026:23293-1","SUSE-SU-2026:23296-1","SUSE-SU-2026:23331-1","SUSE-SU-2026:23332-1","SUSE-SU-2026:23333-1","SUSE-SU-2026:23334-1","SUSE-SU-2026:23335-1","SUSE-SU-2026:23336-1","SUSE-SU-2026:23337-1","SUSE-SU-2026:23338-1","SUSE-SU-2026:23339-1","SUSE-SU-2026:23340-1","SUSE-SU-2026:23341-1","SUSE-SU-2026:23343-1","SUSE-SU-2026:23366-1","SUSE-SU-2026:23367-1","SUSE-SU-2026:23368-1","SUSE-SU-2026:23369-1","SUSE-SU-2026:23370-1","SUSE-SU-2026:23371-1","SUSE-SU-2026:23372-1","SUSE-SU-2026:23373-1","SUSE-SU-2026:23374-1","SUSE-SU-2026:23375-1","SUSE-SU-2026:23376-1","SUSE-SU-2026:23377-1","SUSE-SU-2026:23378-1","SUSE-SU-2026:23383-1","SUSE-SU-2026:23384-1","SUSE-SU-2026:23385-1","SUSE-SU-2026:23386-1","SUSE-SU-2026:23387-1","SUSE-SU-2026:23388-1","SUSE-SU-2026:23389-1","SUSE-SU-2026:23390-1","SUSE-SU-2026:3689-1","SUSE-SU-2026:3694-1","SUSE-SU-2026:3696-1","SUSE-SU-2026:3697-1","SUSE-SU-2026:3698-1","SUSE-SU-2026:3702-1","SUSE-SU-2026:3703-1","SUSE-SU-2026:3704-1","SUSE-SU-2026:3706-1","SUSE-SU-2026:3707-1","SUSE-SU-2026:3708-1","SUSE-SU-2026:3709-1","SUSE-SU-2026:3710-1","SUSE-SU-2026:3715-1","SUSE-SU-2026:3719-1","SUSE-SU-2026:3722-1","SUSE-SU-2026:3723-1","SUSE-SU-2026:3724-1","SUSE-SU-2026:3726-1","SUSE-SU-2026:3728-1","SUSE-SU-2026:3739-1","SUSE-SU-2026:3740-1","SUSE-SU-2026:3743-1","SUSE-SU-2026:3744-1","SUSE-SU-2026:3746-1","SUSE-SU-2026:3747-1","SUSE-SU-2026:3748-1","SUSE-SU-2026:3750-1","SUSE-SU-2026:3754-1","SUSE-SU-2026:3756-1","SUSE-SU-2026:3760-1","SUSE-SU-2026:3761-1","SUSE-SU-2026:3766-1","SUSE-SU-2026:3768-1","SUSE-SU-2026:3770-1","SUSE-SU-2026:3771-1","SUSE-SU-2026:3774-1","SUSE-SU-2026:3826-1","openSUSE-SU-2026:20826-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23449.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://cert-portal.siemens.com/productcert/html/ssa-019113.html"},{"type":"WEB","url":"https://cert-portal.siemens.com/productcert/html/ssa-082556.html"},{"type":"WEB","url":"https://git.kernel.org/stable/c/21c89a0a8de7eadad8d385645a95b3233f23130e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/4a233447b941db451ea5f5a0942cffd0f7f7eaae"},{"type":"WEB","url":"https://git.kernel.org/stable/c/4e8ebc4c18ea8213d28e6cb867d18fcc67daca21"},{"type":"WEB","url":"https://git.kernel.org/stable/c/66360460cab63c248ca5b1070a01c0c29133b960"},{"type":"WEB","url":"https://git.kernel.org/stable/c/afbc79a7770b230a9f24bd39271209d6b3682c5f"},{"type":"WEB","url":"https://git.kernel.org/stable/c/e9c66d3e7d8557b3308e55c613aa07254fe97611"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23449.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-23449"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"96009c7d500efdd5534e83b2e3eb2c58d4b137ae"},{"fixed":"4e8ebc4c18ea8213d28e6cb867d18fcc67daca21"},{"fixed":"21c89a0a8de7eadad8d385645a95b3233f23130e"},{"fixed":"afbc79a7770b230a9f24bd39271209d6b3682c5f"},{"fixed":"e9c66d3e7d8557b3308e55c613aa07254fe97611"},{"fixed":"4a233447b941db451ea5f5a0942cffd0f7f7eaae"},{"fixed":"66360460cab63c248ca5b1070a01c0c29133b960"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23449.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.18.0"},{"fixed":"6.1.167"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.130"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.78"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.20"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"6.19.10"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23449.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}