CVE-2026-98380 (GCVE-0-2026-98380)

Vulnerability from cvelistv5 – Published: 2026-10-09 07:34 – Updated: 2026-10-09 07:34
VLAI
Title
net/sched: reject IDR error pointers when deleting actions
Summary
In 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.
Severity
No CVSS data available.
Assigner
Linux CNA under the mitre root
CNA scorecard D 54/100 over 6633 records in the last 180 days details
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 0190c1d452a91c38a3462abdd81752be1b9006a8 , < 39b751a210bf61a374afa82749afc7a77a08bf1d (git)
Affected: 0190c1d452a91c38a3462abdd81752be1b9006a8 , < dd80a7519824b72c8fcfd3cc50cb93f7e2d90923 (git)
Affected: 0190c1d452a91c38a3462abdd81752be1b9006a8 , < 6bf076258aac4e0af69ef317656c31ce6444d647 (git)
Affected: 0190c1d452a91c38a3462abdd81752be1b9006a8 , < 6c9f07bf8800171de2cd3f02815cebe1f4d45f2d (git)
Affected: 0190c1d452a91c38a3462abdd81752be1b9006a8 , < 259caa711b7688365676442e2fdb286b8aceaa80 (git)
Affected: 0190c1d452a91c38a3462abdd81752be1b9006a8 , < 968550a439f64bd1a6c0d88efb92e4f082f84a26 (git)
Affected: 0190c1d452a91c38a3462abdd81752be1b9006a8 , < a9551f26287debe6d8aa6e8841974661065b975f (git)
Affected: 0190c1d452a91c38a3462abdd81752be1b9006a8 , < c82b797abe668d0b668601a93ba2c0b071a63574 (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.19
Unaffected: 0 , < 4.19 (semver)
Unaffected: 5.10.271 , ≤ 5.10.* (semver)
Unaffected: 5.15.222 , ≤ 5.15.* (semver)
Unaffected: 6.1.189 , ≤ 6.1.* (semver)
Unaffected: 6.6.158 , ≤ 6.6.* (semver)
Unaffected: 6.12.112 , ≤ 6.12.* (semver)
Unaffected: 6.18.55 , ≤ 6.18.* (semver)
Unaffected: 7.2.9 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc5 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/sched/act_api.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "39b751a210bf61a374afa82749afc7a77a08bf1d",
              "status": "affected",
              "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
              "versionType": "git"
            },
            {
              "lessThan": "dd80a7519824b72c8fcfd3cc50cb93f7e2d90923",
              "status": "affected",
              "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
              "versionType": "git"
            },
            {
              "lessThan": "6bf076258aac4e0af69ef317656c31ce6444d647",
              "status": "affected",
              "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
              "versionType": "git"
            },
            {
              "lessThan": "6c9f07bf8800171de2cd3f02815cebe1f4d45f2d",
              "status": "affected",
              "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
              "versionType": "git"
            },
            {
              "lessThan": "259caa711b7688365676442e2fdb286b8aceaa80",
              "status": "affected",
              "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
              "versionType": "git"
            },
            {
              "lessThan": "968550a439f64bd1a6c0d88efb92e4f082f84a26",
              "status": "affected",
              "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
              "versionType": "git"
            },
            {
              "lessThan": "a9551f26287debe6d8aa6e8841974661065b975f",
              "status": "affected",
              "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
              "versionType": "git"
            },
            {
              "lessThan": "c82b797abe668d0b668601a93ba2c0b071a63574",
              "status": "affected",
              "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/sched/act_api.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.19"
            },
            {
              "lessThan": "4.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.271",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.222",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.189",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.158",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.112",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.55",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc5",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.271",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.222",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.189",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.158",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.112",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.55",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.9",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc5",
                  "versionStartIncluding": "4.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: reject IDR error pointers when deleting actions\n\ntcf_action_delete() drops the reference held by its lookup before calling\ntcf_idr_delete_index() with the saved action index.  An unlocked\nclassifier can remove that action and reserve the same IDR slot with\nERR_PTR(-EBUSY) in between.\n\ntcf_idr_delete_index() only checks the lookup result for NULL.  It\ntherefore treats the reservation as a tc_action and dereferences\ntcfa_bindcnt.  A hardware execution breakpoint was used to schedule the\ninterleaving without changing the kernel source.  KASAN reported this\ndecoded trace:\n\n  BUG: KASAN: null-ptr-deref in tca_action_gd+0x5b9/0x1010\n  Read of size 4 at addr 0000000000000010 by task poc/150\n  Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002\n  RIP: tca_action_gd+0x5c0/0x1010:\n    arch_atomic_read at arch/x86/include/asm/atomic.h:23\n    raw_atomic_read at include/linux/atomic/atomic-arch-fallback.h:457\n    atomic_read at include/linux/atomic/atomic-instrumented.h:33\n    tcf_idr_delete_index at net/sched/act_api.c:766\n    tcf_action_delete at net/sched/act_api.c:1859\n    tcf_del_notify at net/sched/act_api.c:2014\n    tca_action_gd at net/sched/act_api.c:2064\n  R13: 0000000000000010 R15: fffffffffffffff0\n  Kernel panic - not syncing: Fatal exception\n\nR15 contains ERR_PTR(-EBUSY), and adding the tcfa_bindcnt offset produces\nthe address in R13.  With the guard applied, the same reproducer returned\n-ENOENT without a KASAN report or panic.  Treat error pointers as absent\nand return -ENOENT."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-09T07:34:20.218Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/39b751a210bf61a374afa82749afc7a77a08bf1d"
        },
        {
          "url": "https://git.kernel.org/stable/c/dd80a7519824b72c8fcfd3cc50cb93f7e2d90923"
        },
        {
          "url": "https://git.kernel.org/stable/c/6bf076258aac4e0af69ef317656c31ce6444d647"
        },
        {
          "url": "https://git.kernel.org/stable/c/6c9f07bf8800171de2cd3f02815cebe1f4d45f2d"
        },
        {
          "url": "https://git.kernel.org/stable/c/259caa711b7688365676442e2fdb286b8aceaa80"
        },
        {
          "url": "https://git.kernel.org/stable/c/968550a439f64bd1a6c0d88efb92e4f082f84a26"
        },
        {
          "url": "https://git.kernel.org/stable/c/a9551f26287debe6d8aa6e8841974661065b975f"
        },
        {
          "url": "https://git.kernel.org/stable/c/c82b797abe668d0b668601a93ba2c0b071a63574"
        }
      ],
      "title": "net/sched: reject IDR error pointers when deleting actions",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-98380",
    "datePublished": "2026-10-09T07:34:20.218Z",
    "dateReserved": "2026-09-25T10:25:14.345Z",
    "dateUpdated": "2026-10-09T07:34:20.218Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "net/sched/act_api.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "39b751a210bf61a374afa82749afc7a77a08bf1d",
                    "status": "affected",
                    "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "dd80a7519824b72c8fcfd3cc50cb93f7e2d90923",
                    "status": "affected",
                    "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6bf076258aac4e0af69ef317656c31ce6444d647",
                    "status": "affected",
                    "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6c9f07bf8800171de2cd3f02815cebe1f4d45f2d",
                    "status": "affected",
                    "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "259caa711b7688365676442e2fdb286b8aceaa80",
                    "status": "affected",
                    "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "968550a439f64bd1a6c0d88efb92e4f082f84a26",
                    "status": "affected",
                    "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "a9551f26287debe6d8aa6e8841974661065b975f",
                    "status": "affected",
                    "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "c82b797abe668d0b668601a93ba2c0b071a63574",
                    "status": "affected",
                    "version": "0190c1d452a91c38a3462abdd81752be1b9006a8",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "net/sched/act_api.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "4.19"
                  },
                  {
                    "lessThan": "4.19",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.271",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.222",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.189",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.158",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.112",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.55",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.9",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3-rc5",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: reject IDR error pointers when deleting actions\n\ntcf_action_delete() drops the reference held by its lookup before calling\ntcf_idr_delete_index() with the saved action index.  An unlocked\nclassifier can remove that action and reserve the same IDR slot with\nERR_PTR(-EBUSY) in between.\n\ntcf_idr_delete_index() only checks the lookup result for NULL.  It\ntherefore treats the reservation as a tc_action and dereferences\ntcfa_bindcnt.  A hardware execution breakpoint was used to schedule the\ninterleaving without changing the kernel source.  KASAN reported this\ndecoded trace:\n\n  BUG: KASAN: null-ptr-deref in tca_action_gd+0x5b9/0x1010\n  Read of size 4 at addr 0000000000000010 by task poc/150\n  Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002\n  RIP: tca_action_gd+0x5c0/0x1010:\n    arch_atomic_read at arch/x86/include/asm/atomic.h:23\n    raw_atomic_read at include/linux/atomic/atomic-arch-fallback.h:457\n    atomic_read at include/linux/atomic/atomic-instrumented.h:33\n    tcf_idr_delete_index at net/sched/act_api.c:766\n    tcf_action_delete at net/sched/act_api.c:1859\n    tcf_del_notify at net/sched/act_api.c:2014\n    tca_action_gd at net/sched/act_api.c:2064\n  R13: 0000000000000010 R15: fffffffffffffff0\n  Kernel panic - not syncing: Fatal exception\n\nR15 contains ERR_PTR(-EBUSY), and adding the tcfa_bindcnt offset produces\nthe address in R13.  With the guard applied, the same reproducer returned\n-ENOENT without a KASAN report or panic.  Treat error pointers as absent\nand return -ENOENT."
          }
        ],
        "id": "CVE-2026-98380",
        "lastModified": "2026-10-09T08:16:56.400",
        "metrics": {},
        "published": "2026-10-09T08:16:56.400",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/259caa711b7688365676442e2fdb286b8aceaa80"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/39b751a210bf61a374afa82749afc7a77a08bf1d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6bf076258aac4e0af69ef317656c31ce6444d647"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6c9f07bf8800171de2cd3f02815cebe1f4d45f2d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/968550a439f64bd1a6c0d88efb92e4f082f84a26"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/a9551f26287debe6d8aa6e8841974661065b975f"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/c82b797abe668d0b668601a93ba2c0b071a63574"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/dd80a7519824b72c8fcfd3cc50cb93f7e2d90923"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…