← Back to CVE Explorer

CVE-2026-90401

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: md: remove REQ_NOWAIT support from raid1/10/456 REQ_NOWAIT support in md personalities that can block internally is fundamentally incomplete. While reads can avoid some blocking paths, write requests can still encounter cases where one mirror succeeds while another returns -EAGAIN. At that point md cannot distinguish queue pressure from a real device failure, so it can neither record a bad block nor safely retry the write without REQ_NOWAIT, leaving mirrors with divergent data. Rather than continue advertising REQ_NOWAIT support for personalities that cannot implement it correctly, remove it from raid1, raid10 and raid456. Keep REQ_NOWAIT for linear and raid0, which only remap bios to their underlying devices; stacked limits will still clear the feature if any component device lacks REQ_NOWAIT support.

Severity
HIGH
CVSS score
7.1 (v3.1)
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-17 17:17:39.877000
Last modified
2026-10-19 09:19:34.223000
View original CVE JSON
{
  "id": "CVE-2026-90401",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-17T17:17:39.877",
  "lastModified": "2026-10-19T09:19:34.223",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmd: remove REQ_NOWAIT support from raid1/10/456\n\nREQ_NOWAIT support in md personalities that can block internally is\nfundamentally incomplete. While reads can avoid some blocking paths,\nwrite requests can still encounter cases where one mirror succeeds while\nanother returns -EAGAIN. At that point md cannot distinguish queue\npressure from a real device failure, so it can neither record a bad\nblock nor safely retry the write without REQ_NOWAIT, leaving mirrors\nwith divergent data.\n\nRather than continue advertising REQ_NOWAIT support for personalities\nthat cannot implement it correctly, remove it from raid1, raid10 and\nraid456. Keep REQ_NOWAIT for linear and raid0, which only remap bios to\ntheir underlying devices; stacked limits will still clear the feature if\nany component device lacks REQ_NOWAIT support."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/md/md-bitmap.c",
            "drivers/md/md-bitmap.h",
            "drivers/md/md-linear.c",
            "drivers/md/md-llbitmap.c",
            "drivers/md/md.c",
            "drivers/md/raid0.c",
            "drivers/md/raid1-10.c",
            "drivers/md/raid1.c",
            "drivers/md/raid10.c",
            "drivers/md/raid5.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "f51d46d0e7cb5b8494aa534d276a9d8915a2443d",
              "lessThan": "ffcc9ea4e4d121c78aef6654a1577aa7d120774d",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "f51d46d0e7cb5b8494aa534d276a9d8915a2443d",
              "lessThan": "9bb9504e2d8f3d22ef12d51c333dd499f402dc8f",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "f51d46d0e7cb5b8494aa534d276a9d8915a2443d",
              "lessThan": "3fe5b7c9fb72ccc29bfd0f955b124892af7e3674",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "39db562b3fedb93978a7e42dd216b306740959f8",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "5.15.111",
              "lessThan": "5.16",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/md/md-bitmap.c",
            "drivers/md/md-bitmap.h",
            "drivers/md/md-linear.c",
            "drivers/md/md-llbitmap.c",
            "drivers/md/md.c",
            "drivers/md/raid0.c",
            "drivers/md/raid1-10.c",
            "drivers/md/raid1.c",
            "drivers/md/raid10.c",
            "drivers/md/raid5.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "5.17",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "5.17",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.57",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.6",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H",
          "baseScore": 7.1,
          "baseSeverity": "HIGH",
          "attackVector": "LOCAL",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "HIGH",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 5.2
      }
    ]
  },
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/3fe5b7c9fb72ccc29bfd0f955b124892af7e3674",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9bb9504e2d8f3d22ef12d51c333dd499f402dc8f",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/ffcc9ea4e4d121c78aef6654a1577aa7d120774d",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}