{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "afe4fd062416b158a8a8538b23adc1930a9b88dc"
            },
            {
              "fixed": "d16dac3925be95ad46e986d4b139c9898b6e227f"
            },
            {
              "fixed": "f6b3e3848a5fca63438984acd6d9eceac80814c1"
            },
            {
              "fixed": "e35acd56f244d94355f9ab237c2ecc8fba5e6f04"
            },
            {
              "fixed": "709f34f7c28dc4dd6c40343d101850f11e172312"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "3.12.0"
            },
            {
              "fixed": "6.12.110"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.13.0"
            },
            {
              "fixed": "6.18.52"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.19.0"
            },
            {
              "fixed": "7.2.6"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90076.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: fq: add overflow bounds to quantum and initial quantum\n\nfq_init() computes quantum = 2 * psched_mtu() and initial_quantum = 10 *\npsched_mtu() with no overflow check. A device with a huge MTU (e.g. dummy\nwith max_mtu == 0 accepting MTU 2147483634) makes psched_mtu() return\n0x80000000; the 2 * and 10 * multiplications wrap to 0 in 32-bit\narithmetic, so q-\u003equantum == 0. Then in fq_dequeue() the credit-refill\nloop adds 0 to f-\u003ecredit (which stays \u003c= 0) and goto begin loops\nforever under the qdisc lock, creating a soft lockup.\n\nClamp psched_mtu() to [1, 1 \u003c\u003c 20] before multiplying so the product\ncannot wrap, then cap the result at 1 \u003c\u003c 20, matching the bound already\nenforced on TCA_FQ_QUANTUM in fq_change().\n\nConditions to recreate the bug: a device whose MTU (plus\nhard_header_len) is large enough that 2 * psched_mtu() wraps (e.g. a\ndummy device with max_mtu == 0 accepting MTU 2147483634). Requires\nCAP_NET_ADMIN in a user namespace.",
  "id": "CVE-2026-90076",
  "modified": "2026-09-19T03:30:15.937150814Z",
  "published": "2026-09-17T16:05:55.517Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/709f34f7c28dc4dd6c40343d101850f11e172312"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/d16dac3925be95ad46e986d4b139c9898b6e227f"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/e35acd56f244d94355f9ab237c2ecc8fba5e6f04"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/f6b3e3848a5fca63438984acd6d9eceac80814c1"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90076.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-90076"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.9.0",
  "summary": "net/sched: fq: add overflow bounds to quantum and initial quantum"
}