0.0
NA
CVE-2026-74284
net/sched: sch_hfsc: Don't make class passive twice
Description

In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_hfsc: Don't make class passive twice update_vf() is called from two places for the same class during a single dequeue when the class's child qdisc (e.g. codel/fq_codel) drops its last packets while dequeuing: 1. The child calls qdisc_tree_reduce_backlog(), which, now that the child is empty, invokes hfsc_qlen_notify() -> update_vf(cl, 0, 0) and turns the class passive (cl_nactive is decremented up the hierarchy). 2. hfsc_dequeue() then calls update_vf(cl, qdisc_pkt_len(skb), cur_time) to charge the dequeued bytes. On the second call the class is already passive, but its child qdisc is still empty, so update_vf() arms go_passive again: if (cl->qdisc->q.qlen == 0 && cl->cl_flags & HFSC_FSC) go_passive = 1; The leaf is then skipped by the cl_nactive == 0 check inside the loop, which does not clear go_passive, so the stale go_passive propagates to the parent and decrements its cl_nactive a second time. A parent that still has other active children is driven to cl_nactive == 0 and removed from the vttree, even though those siblings are still backlogged. They are never dequeued again and the qdisc stalls. Fix this by only arming go_passive when the class is actually active, so an already-passive class no longer triggers a second passive transition. The byte accounting (cl->cl_total += len) still runs for every ancestor, so dequeued bytes continue to be counted exactly once.

INFO

Published Date :

Aug. 15, 2026, 6:22 a.m.

Last Modified :

Aug. 17, 2026, 6:19 a.m.

Remotely Exploit :

No

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products

The following products are affected by CVE-2026-74284 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Linux linux_kernel
Solution
Update kernel to prevent double passive transitions and qdisc stalling.
  • Update the Linux kernel to the latest version.
  • Apply the specific patch for sch_hfsc.
  • Ensure hfsc_qlen_notify is called correctly.
  • Verify class state before triggering passive transition.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-74284 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-74284 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-74284 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-74284 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Aug. 17, 2026

    Action Type Old Value New Value
    Changed Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '72c61ffbeeb8c50f6d4d70c65d3283aa1bac57a7', 'lessThan': 'a425c82ff06cda5165e0de3de8c2a445ec1f863e', 'versionType': 'git'}, {'status': 'affected', 'version': 'a5efc95a33bd4fcb879250852828cc58c7862970', 'lessThan': 'fc973ecd1a079b9a87c360478542f3a56dea085b', 'versionType': 'git'}, {'status': 'affected', 'version': '0475c85426b18eccdcb7f9fb58d8f8e9c6c58c87', 'lessThan': '15720cd8fa3fc625146128f89a8e11b0449a20a7', 'versionType': 'git'}, {'status': 'affected', 'version': '9030a91235ae4845ec71902c3e0cecfc9ed1f2df', 'lessThan': 'b2a017bfcf565721918ec7355a373911d2f2a227', 'versionType': 'git'}, {'status': 'affected', 'version': 'd06476714d2819b550e0cc39222347e2c8941c9d', 'lessThan': '9221a594c72a1446137926d4c2aa04e345f798dc', 'versionType': 'git'}, {'status': 'affected', 'version': '51eb3b65544c9efd6a1026889ee5fb5aa62da3bb', 'lessThan': '66dbb13eeb2fc339f8f548a9076be4c1a94857b0', 'versionType': 'git'}, {'status': 'affected', 'version': '51eb3b65544c9efd6a1026889ee5fb5aa62da3bb', 'lessThan': '3a49bbae676fef1ffe548971e6229ae2adeb9d10', 'versionType': 'git'}, {'status': 'affected', 'version': '51eb3b65544c9efd6a1026889ee5fb5aa62da3bb', 'lessThan': '90b662ea25f5e83bb3b8ccec5b93ced810b92fb8', 'versionType': 'git'}, {'status': 'affected', 'version': '9a5fd5c2f4d4afdd5e405083ee53e0789ce76956', 'versionType': 'git'}, {'status': 'affected', 'version': 'c1175c4ad01dbc9c979d099861fa90a754f72059', 'versionType': 'git'}, {'status': 'affected', 'version': '5.10.241', 'lessThan': '5.10.261', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.15.190', 'lessThan': '5.15.212', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.1.138', 'lessThan': '6.1.178', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.6.90', 'lessThan': '6.6.145', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.12.28', 'lessThan': '6.12.97', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.4.297', 'lessThan': '5.5', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.14.6', 'lessThan': '6.15', 'versionType': 'semver'}], 'programFiles': ['net/sched/sch_hfsc.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '6.15'}, {'status': 'unaffected', 'version': '0', 'lessThan': '6.15', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/sched/sch_hfsc.c'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '72c61ffbeeb8c50f6d4d70c65d3283aa1bac57a7', 'lessThan': 'a425c82ff06cda5165e0de3de8c2a445ec1f863e', 'versionType': 'git'}, {'status': 'affected', 'version': 'a5efc95a33bd4fcb879250852828cc58c7862970', 'lessThan': 'fc973ecd1a079b9a87c360478542f3a56dea085b', 'versionType': 'git'}, {'status': 'affected', 'version': '0475c85426b18eccdcb7f9fb58d8f8e9c6c58c87', 'lessThan': '15720cd8fa3fc625146128f89a8e11b0449a20a7', 'versionType': 'git'}, {'status': 'affected', 'version': '9030a91235ae4845ec71902c3e0cecfc9ed1f2df', 'lessThan': 'b2a017bfcf565721918ec7355a373911d2f2a227', 'versionType': 'git'}, {'status': 'affected', 'version': 'd06476714d2819b550e0cc39222347e2c8941c9d', 'lessThan': '9221a594c72a1446137926d4c2aa04e345f798dc', 'versionType': 'git'}, {'status': 'affected', 'version': '51eb3b65544c9efd6a1026889ee5fb5aa62da3bb', 'lessThan': '66dbb13eeb2fc339f8f548a9076be4c1a94857b0', 'versionType': 'git'}, {'status': 'affected', 'version': '51eb3b65544c9efd6a1026889ee5fb5aa62da3bb', 'lessThan': '3a49bbae676fef1ffe548971e6229ae2adeb9d10', 'versionType': 'git'}, {'status': 'affected', 'version': '51eb3b65544c9efd6a1026889ee5fb5aa62da3bb', 'lessThan': '90b662ea25f5e83bb3b8ccec5b93ced810b92fb8', 'versionType': 'git'}, {'status': 'affected', 'version': '9a5fd5c2f4d4afdd5e405083ee53e0789ce76956', 'versionType': 'git'}, {'status': 'affected', 'version': 'c1175c4ad01dbc9c979d099861fa90a754f72059', 'versionType': 'git'}, {'status': 'affected', 'version': '5.10.241', 'lessThan': '5.10.261', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.15.190', 'lessThan': '5.15.212', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.1.138', 'lessThan': '6.1.178', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.6.90', 'lessThan': '6.6.145', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.12.28', 'lessThan': '6.12.97', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.4.297', 'lessThan': '5.5', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.14.6', 'lessThan': '6.15', 'versionType': 'semver'}], 'programFiles': ['net/sched/sch_hfsc.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '6.15'}, {'status': 'unaffected', 'version': '0', 'lessThan': '6.15', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/sched/sch_hfsc.c'], 'defaultStatus': 'affected'}]
  • New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Aug. 15, 2026

    Action Type Old Value New Value
    Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '72c61ffbeeb8c50f6d4d70c65d3283aa1bac57a7', 'lessThan': 'a425c82ff06cda5165e0de3de8c2a445ec1f863e', 'versionType': 'git'}, {'status': 'affected', 'version': 'a5efc95a33bd4fcb879250852828cc58c7862970', 'lessThan': 'fc973ecd1a079b9a87c360478542f3a56dea085b', 'versionType': 'git'}, {'status': 'affected', 'version': '0475c85426b18eccdcb7f9fb58d8f8e9c6c58c87', 'lessThan': '15720cd8fa3fc625146128f89a8e11b0449a20a7', 'versionType': 'git'}, {'status': 'affected', 'version': '9030a91235ae4845ec71902c3e0cecfc9ed1f2df', 'lessThan': 'b2a017bfcf565721918ec7355a373911d2f2a227', 'versionType': 'git'}, {'status': 'affected', 'version': 'd06476714d2819b550e0cc39222347e2c8941c9d', 'lessThan': '9221a594c72a1446137926d4c2aa04e345f798dc', 'versionType': 'git'}, {'status': 'affected', 'version': '51eb3b65544c9efd6a1026889ee5fb5aa62da3bb', 'lessThan': '66dbb13eeb2fc339f8f548a9076be4c1a94857b0', 'versionType': 'git'}, {'status': 'affected', 'version': '51eb3b65544c9efd6a1026889ee5fb5aa62da3bb', 'lessThan': '3a49bbae676fef1ffe548971e6229ae2adeb9d10', 'versionType': 'git'}, {'status': 'affected', 'version': '51eb3b65544c9efd6a1026889ee5fb5aa62da3bb', 'lessThan': '90b662ea25f5e83bb3b8ccec5b93ced810b92fb8', 'versionType': 'git'}, {'status': 'affected', 'version': '9a5fd5c2f4d4afdd5e405083ee53e0789ce76956', 'versionType': 'git'}, {'status': 'affected', 'version': 'c1175c4ad01dbc9c979d099861fa90a754f72059', 'versionType': 'git'}, {'status': 'affected', 'version': '5.10.241', 'lessThan': '5.10.261', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.15.190', 'lessThan': '5.15.212', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.1.138', 'lessThan': '6.1.178', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.6.90', 'lessThan': '6.6.145', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.12.28', 'lessThan': '6.12.97', 'versionType': 'semver'}, {'status': 'affected', 'version': '5.4.297', 'lessThan': '5.5', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.14.6', 'lessThan': '6.15', 'versionType': 'semver'}], 'programFiles': ['net/sched/sch_hfsc.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '6.15'}, {'status': 'unaffected', 'version': '0', 'lessThan': '6.15', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.261', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/sched/sch_hfsc.c'], 'defaultStatus': 'affected'}]
    Added Description In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_hfsc: Don't make class passive twice update_vf() is called from two places for the same class during a single dequeue when the class's child qdisc (e.g. codel/fq_codel) drops its last packets while dequeuing: 1. The child calls qdisc_tree_reduce_backlog(), which, now that the child is empty, invokes hfsc_qlen_notify() -> update_vf(cl, 0, 0) and turns the class passive (cl_nactive is decremented up the hierarchy). 2. hfsc_dequeue() then calls update_vf(cl, qdisc_pkt_len(skb), cur_time) to charge the dequeued bytes. On the second call the class is already passive, but its child qdisc is still empty, so update_vf() arms go_passive again: if (cl->qdisc->q.qlen == 0 && cl->cl_flags & HFSC_FSC) go_passive = 1; The leaf is then skipped by the cl_nactive == 0 check inside the loop, which does not clear go_passive, so the stale go_passive propagates to the parent and decrements its cl_nactive a second time. A parent that still has other active children is driven to cl_nactive == 0 and removed from the vttree, even though those siblings are still backlogged. They are never dequeued again and the qdisc stalls. Fix this by only arming go_passive when the class is actually active, so an already-passive class no longer triggers a second passive transition. The byte accounting (cl->cl_total += len) still runs for every ancestor, so dequeued bytes continue to be counted exactly once.
    Added Reference https://git.kernel.org/stable/c/15720cd8fa3fc625146128f89a8e11b0449a20a7
    Added Reference https://git.kernel.org/stable/c/3a49bbae676fef1ffe548971e6229ae2adeb9d10
    Added Reference https://git.kernel.org/stable/c/66dbb13eeb2fc339f8f548a9076be4c1a94857b0
    Added Reference https://git.kernel.org/stable/c/90b662ea25f5e83bb3b8ccec5b93ced810b92fb8
    Added Reference https://git.kernel.org/stable/c/9221a594c72a1446137926d4c2aa04e345f798dc
    Added Reference https://git.kernel.org/stable/c/a425c82ff06cda5165e0de3de8c2a445ec1f863e
    Added Reference https://git.kernel.org/stable/c/b2a017bfcf565721918ec7355a373911d2f2a227
    Added Reference https://git.kernel.org/stable/c/fc973ecd1a079b9a87c360478542f3a56dea085b
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.