← Back to CVE Explorer

CVE-2026-98770

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: midi2: Fix the jack descriptor array sizes The jack in/out descriptor arrays in struct f_midi2_usb_config have the size of MAX_CABLES, which look reasonable -- but it turned out to be incorrect. Namely, the entries for those arrays are added from both inputs and outputs, hence for each loop cycle, it adds two, ended up with as twice as the expected size. This inconsistency may result in potential OOB when a large number of jacks are set up via configfs, although the max number of cables (the loop count) is limited to MAX_CABLES. For addressing it, correct the jack_ins & jack_outs array sizes to twice, MAX_CABLES * 2.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-10-18 16:17:30.920000
Last modified
2026-10-21 13:21:45.227000
View original CVE JSON
{
  "id": "CVE-2026-98770",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-10-18T16:17:30.920",
  "lastModified": "2026-10-21T13:21:45.227",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: midi2: Fix the jack descriptor array sizes\n\nThe jack in/out descriptor arrays in struct f_midi2_usb_config have\nthe size of MAX_CABLES, which look reasonable -- but it turned out to\nbe incorrect.  Namely, the entries for those arrays are added from\nboth inputs and outputs, hence for each loop cycle, it adds two, ended\nup with as twice as the expected size.  This inconsistency may result\nin potential OOB when a large number of jacks are set up via configfs,\nalthough the max number of cables (the loop count) is limited to\nMAX_CABLES.\n\nFor addressing it, correct the jack_ins & jack_outs array sizes to\ntwice, MAX_CABLES * 2."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/usb/gadget/function/f_midi2.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "856fa444b0982746f95e801bab0e586533eb29a3",
              "lessThan": "18138d9f19cf6944ff09f5c8c0930545036fe3d0",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "856fa444b0982746f95e801bab0e586533eb29a3",
              "lessThan": "8294ff75a9de23f7cc641e5e5ca31fa6ea72a574",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "856fa444b0982746f95e801bab0e586533eb29a3",
              "lessThan": "87f2185423e01f113811301878f2f67eccec960d",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "856fa444b0982746f95e801bab0e586533eb29a3",
              "lessThan": "223c3bd02a582776d8ee47dae7b69d3258420694",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "856fa444b0982746f95e801bab0e586533eb29a3",
              "lessThan": "310c2d4608d8c1a2baa57db1dfd319c5c40cf4a1",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/usb/gadget/function/f_midi2.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "6.6",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "6.6",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.160",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.113",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.56",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.10",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/18138d9f19cf6944ff09f5c8c0930545036fe3d0",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/223c3bd02a582776d8ee47dae7b69d3258420694",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/310c2d4608d8c1a2baa57db1dfd319c5c40cf4a1",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/8294ff75a9de23f7cc641e5e5ca31fa6ea72a574",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/87f2185423e01f113811301878f2f67eccec960d",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}