Get a Demo

Let's Patch It!

Book a short call with one our specialists, we'll walk you through how Endor Patches work, and ask you a few questions about your environment (like your primary programming languages and repository management). We'll also send you an email right after you fill out the form, feel free to reply with any questions you have in advance!

CVE

CVE-2026-89558

md/raid10: fix still_degraded being inverted in raid10_sync_request()
Back to all
CVE

CVE-2026-89558

md/raid10: fix still_degraded being inverted in raid10_sync_request()

In the Linux kernel, the following vulnerability has been resolved:

md/raid10: fix stilldegraded being inverted in raid10sync_request()

Commit fe6a19d40ceb ("md/md-bitmap: merge mdbitmapstart_sync() into

bitmapoperations") converted stilldegraded from int to bool, but

inverted the assignment in the loop that checks whether the array will

still be degraded after the current device is recovered:

"stilldegraded = 1" became "stilldegraded = false".

As a result, recovering a device while another mirror is still missing

calls mdbitmapstart_sync() with degraded == false, which clears bitmap

bits that the still-missing device needs.  When that device is re-added,

its bitmap-based recovery finds the bits already cleared and skips every

region written while the array was degraded, so it is marked In_sync

while holding stale data: silent corruption.

Reproducer (raid10 near=2, 4 disks, internal bitmap):

  • fail and remove one disk of each mirror pair
  • write to the degraded array
  • re-add both disks and let recovery finish
  • "check" reports mismatch_cnt=262272 after 256 MiB of degraded

   writes and file contents differ; the second disk's "recovery"

   completes in milliseconds because everything is skipped

The same conversion in raid1 got it right (still_degraded = true).

Restore the correct value.

Package Versions Affected

Package Version
patch Availability
No items found.

Automatically patch vulnerabilities without upgrading

Fix Without Upgrading
Detect compatible fix
Apply safe remediation
Fix with a single pull request

CVSS Version

Severity
Base Score
CVSS Version
Score Vector
C
H
U
9.8
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
C
H
U
0
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
C
H
U
-

Related Resources

No items found.

References

https://git.kernel.org/stable/c/00449d752bee9c8787f42ea1bf533a9fb17f9b6b, https://git.kernel.org/stable/c/0efabe6229dc683dbf6eeebd0f9fddc7971ed420, https://git.kernel.org/stable/c/47f1441b281decde6954a2fa82b4131637d685ac, https://git.kernel.org/stable/c/9bb8da6ecb330a5b1ac9b96f1e55f134a7aef1d4, https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89558.json, https://nvd.nist.gov/vuln/detail/CVE-2026-89558, https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Severity

9.8

CVSS Score
0
10

Basic Information

Base CVSS
9.8
EPSS Probability
0.00635%
EPSS Percentile
0.4881%
Introduced Version
fe6a19d40ceb44281905485f56dda715e3214e0e,6.12.0,6.13.0,6.19.0,0
Fix Available
47f1441b281decde6954a2fa82b4131637d685ac,6.12.109,6.18.50,7.2.4,6.12.111-1~deb12u1,6.12.111-1,0:6.12.0-207.111.5.1.el10uek,0:6.12.0-207.111.5.1.el9uek

Fix Critical Vulnerabilities Instantly

Secure your app without upgrading.
Fix Without Upgrading