net/sched: reject IDR error pointers when deleting actions

Summary

CVECVE-2026-98380
StatePUBLISHED
AssignerLinux
Source PriorityCVE Program / NVD first with legacy fallback
Published2026-10-09 08:16:56 UTC
Updated2026-10-19 10:18:41 UTC
DescriptionIn the Linux kernel, the following vulnerability has been resolved: net/sched: reject IDR error pointers when deleting actions tcf_action_delete() drops the reference held by its lookup before calling tcf_idr_delete_index() with the saved action index. An unlocked classifier can remove that action and reserve the same IDR slot with ERR_PTR(-EBUSY) in between. tcf_idr_delete_index() only checks the lookup result for NULL. It therefore treats the reservation as a tc_action and dereferences tcfa_bindcnt. A hardware execution breakpoint was used to schedule the interleaving without changing the kernel source. KASAN reported this decoded trace: BUG: KASAN: null-ptr-deref in tca_action_gd+0x5b9/0x1010 Read of size 4 at addr 0000000000000010 by task poc/150 Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002 RIP: tca_action_gd+0x5c0/0x1010: arch_atomic_read at arch/x86/include/asm/atomic.h:23 raw_atomic_read at include/linux/atomic/atomic-arch-fallback.h:457 atomic_read at include/linux/atomic/atomic-instrumented.h:33 tcf_idr_delete_index at net/sched/act_api.c:766 tcf_action_delete at net/sched/act_api.c:1859 tcf_del_notify at net/sched/act_api.c:2014 tca_action_gd at net/sched/act_api.c:2064 R13: 0000000000000010 R15: fffffffffffffff0 Kernel panic - not syncing: Fatal exception R15 contains ERR_PTR(-EBUSY), and adding the tcfa_bindcnt offset produces the address in R13. With the guard applied, the same reproducer returned -ENOENT without a KASAN report or panic. Treat error pointers as absent and return -ENOENT.

Risk And Classification

EPSS: 0.001770000 probability, percentile 0.066850000 (date 2026-10-11)

Vendor Declared Affected Products

SourceVendorProductVersionPlatforms
CNA Linux Linux affected 0190c1d452a91c38a3462abdd81752be1b9006a8 39b751a210bf61a374afa82749afc7a77a08bf1d git Not specified
CNA Linux Linux affected 0190c1d452a91c38a3462abdd81752be1b9006a8 dd80a7519824b72c8fcfd3cc50cb93f7e2d90923 git Not specified
CNA Linux Linux affected 0190c1d452a91c38a3462abdd81752be1b9006a8 6bf076258aac4e0af69ef317656c31ce6444d647 git Not specified
CNA Linux Linux affected 0190c1d452a91c38a3462abdd81752be1b9006a8 6c9f07bf8800171de2cd3f02815cebe1f4d45f2d git Not specified
CNA Linux Linux affected 0190c1d452a91c38a3462abdd81752be1b9006a8 259caa711b7688365676442e2fdb286b8aceaa80 git Not specified
CNA Linux Linux affected 0190c1d452a91c38a3462abdd81752be1b9006a8 968550a439f64bd1a6c0d88efb92e4f082f84a26 git Not specified
CNA Linux Linux affected 0190c1d452a91c38a3462abdd81752be1b9006a8 a9551f26287debe6d8aa6e8841974661065b975f git Not specified
CNA Linux Linux affected 0190c1d452a91c38a3462abdd81752be1b9006a8 c82b797abe668d0b668601a93ba2c0b071a63574 git Not specified
CNA Linux Linux affected 4.19 Not specified
CNA Linux Linux unaffected 4.19 semver Not specified
CNA Linux Linux unaffected 5.10.271 5.10.* semver Not specified
CNA Linux Linux unaffected 5.15.222 5.15.* semver Not specified
CNA Linux Linux unaffected 6.1.189 6.1.* semver Not specified
CNA Linux Linux unaffected 6.6.158 6.6.* semver Not specified
CNA Linux Linux unaffected 6.12.112 6.12.* semver Not specified
CNA Linux Linux unaffected 6.18.55 6.18.* semver Not specified
CNA Linux Linux unaffected 7.2.9 7.2.* semver Not specified
CNA Linux Linux unaffected 7.3 * original_commit_for_fix Not specified

References

ReferenceSourceLinkTags
git.kernel.org/stable/c/39b751a210bf61a374afa82749afc7a77a08bf1d 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/a9551f26287debe6d8aa6e8841974661065b975f 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/dd80a7519824b72c8fcfd3cc50cb93f7e2d90923 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/968550a439f64bd1a6c0d88efb92e4f082f84a26 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/259caa711b7688365676442e2fdb286b8aceaa80 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/6bf076258aac4e0af69ef317656c31ce6444d647 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/c82b797abe668d0b668601a93ba2c0b071a63574 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
git.kernel.org/stable/c/6c9f07bf8800171de2cd3f02815cebe1f4d45f2d 416baaa9-dc9f-4396-8d5f-8c081fb06d67 git.kernel.org
CVE Program record CVE.ORG www.cve.org canonical
NVD vulnerability detail NVD nvd.nist.gov canonical, analysis

© CVE.report 2026

Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user's risk. It is the responsibility of user to evaluate the accuracy, completeness or usefulness of any information, opinion, advice or other content. EACH USER WILL BE SOLELY RESPONSIBLE FOR ANY consequences of his or her direct or indirect use of this web site. ALL WARRANTIES OF ANY KIND ARE EXPRESSLY DISCLAIMED. This site will NOT BE LIABLE FOR ANY DIRECT, INDIRECT or any other kind of loss.

CVE, CWE, and OVAL are registred trademarks of The MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. This site includes MITRE data granted under the following license.

Free CVE JSON API cve.report/api

CVE.report and Source URL Uptime Status status.cve.report