← Back to CVE Explorer

CVE-2026-90031

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: usb-storage: ene_ub6250: fix race between scan work and probe ene_ub6250_probe() calls usb_stor_probe2(), which starts the usb-storage infrastructure and schedules the delayed scan work. The driver then calls ene_get_card_type(), which sends an ENE command through ene_send_scsi_cmd() and the usb-storage bulk transfer helpers. Both the delayed scan work, through usb_stor_Bulk_max_lun(), and ene_get_card_type() use us->current_urb. The scan work serializes this access with us->dev_mutex, but the ENE card-type probe does not. If the scan work runs while ene_get_card_type() is still using us->current_urb, usb_submit_urb() warns that the URB is already active. Serialize ene_get_card_type() with us->dev_mutex, matching the locking used by the scan path.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-16 11:17:16.177000
Last modified
2026-10-19 09:18:51.227000
View original CVE JSON
{
  "id": "CVE-2026-90031",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-16T11:17:16.177",
  "lastModified": "2026-10-19T09:18:51.227",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb-storage: ene_ub6250: fix race between scan work and probe\n\nene_ub6250_probe() calls usb_stor_probe2(), which starts the usb-storage\ninfrastructure and schedules the delayed scan work.  The driver then\ncalls ene_get_card_type(), which sends an ENE command through\nene_send_scsi_cmd() and the usb-storage bulk transfer helpers.\n\nBoth the delayed scan work, through usb_stor_Bulk_max_lun(), and\nene_get_card_type() use us->current_urb.  The scan work serializes this\naccess with us->dev_mutex, but the ENE card-type probe does not.  If the\nscan work runs while ene_get_card_type() is still using us->current_urb,\nusb_submit_urb() warns that the URB is already active.\n\nSerialize ene_get_card_type() with us->dev_mutex, matching the locking\nused by the scan path."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/usb/storage/ene_ub6250.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "41e568d14ec0aca1b2bb19563517aad3b06d6805",
              "lessThan": "9cd335f4f41e84d1ab88d80150ffee8dee9650d7",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "41e568d14ec0aca1b2bb19563517aad3b06d6805",
              "lessThan": "8936d95dd04d34db96d4d1e3899eee52605bbedc",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "41e568d14ec0aca1b2bb19563517aad3b06d6805",
              "lessThan": "9c261a83131e241d67cb73ab578d0265bc19cfb5",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "41e568d14ec0aca1b2bb19563517aad3b06d6805",
              "lessThan": "9481bc04a8c351ed883a7f0e10939bbe9120ead7",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "41e568d14ec0aca1b2bb19563517aad3b06d6805",
              "lessThan": "5082546702c32a2700894d2c0ace784e038ef6a3",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "41e568d14ec0aca1b2bb19563517aad3b06d6805",
              "lessThan": "1c67f2ba9c5f7c5ab3670671c0d51c6504bcaf74",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "41e568d14ec0aca1b2bb19563517aad3b06d6805",
              "lessThan": "996c319b8bd5ada1f62daae0d331d0b23e0f2117",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "41e568d14ec0aca1b2bb19563517aad3b06d6805",
              "lessThan": "445fc368c6bc73eff0aeb3818cf5f355facfbb16",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/usb/storage/ene_ub6250.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "2.6.39",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "2.6.39",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.270",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.221",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.188",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.157",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.110",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.51",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.5",
              "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/1c67f2ba9c5f7c5ab3670671c0d51c6504bcaf74",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/445fc368c6bc73eff0aeb3818cf5f355facfbb16",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/5082546702c32a2700894d2c0ace784e038ef6a3",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/8936d95dd04d34db96d4d1e3899eee52605bbedc",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9481bc04a8c351ed883a7f0e10939bbe9120ead7",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/996c319b8bd5ada1f62daae0d331d0b23e0f2117",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9c261a83131e241d67cb73ab578d0265bc19cfb5",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9cd335f4f41e84d1ab88d80150ffee8dee9650d7",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}