CVE-2026-98207 json
mmc: spi: reset bytes_xfered before retrying CRC failures
published last mo. modified 23d ago also EUVD-2026-93135
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 7%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
mmc: spi: reset bytes_xfered before retrying CRC failures
mmc_spi_data_do() updates data->bytes_xfered after each block has been transferred successfully. If a later block in the same data request fails with a CRC error, data->bytes_xfered may therefore contain the number of bytes completed before the failing block.
mmc_spi_request() has a private recovery path for such CRC failures. It sends STOP_TRANSMISSION, clears data->error and jumps back to crc_recover to issue the same command and data request again. However, it does not clear data->bytes_xfered before the retry.
If the retry succeeds, the request is completed with the bytes from the failed attempt still included in data->bytes_xfered. For a multi-block request this can make the completed request report more bytes than were transferred by the successful retry, and can even exceed the request size when most blocks completed before the CRC error.
This is most likely to be observed on MMC-over-SPI systems where long multi-block transfers occasionally hit a data CRC error but the mmc_spi-internal retry succeeds. The data itself is retried, but the completion accounting is not.
Clear data->bytes_xfered together with data->error before repeating the request so the final completion reports only the bytes transferred by the successful attempt.
Patch / fix
- Linux Linux 7.3
- linux Debian 12 6.1.190-1
- linux Debian 13 6.12.113-1
- linux Debian 14 7.2.8-1
- linux-6.12 Debian 12 6.12.113-1~deb12u1
debian advisories DEBIAN-CVE-2026-98207
- linux Ubuntu 22.04 LTS 5.15.0-202.212
- linux Ubuntu 24.04 LTS 6.8.0-149.149
- linux Ubuntu 26.04 LTS 7.0.0-42.42
- linux-aws Ubuntu 22.04 LTS 5.15.0-1119.126
- linux-aws Ubuntu 24.04 LTS 6.8.0-1069.74
- linux-aws Ubuntu 26.04 LTS 7.0.0-1016.17
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1120.130
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1073.81
ubuntu advisories UBUNTU-CVE-2026-98207
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-source Linux Micro 6.0 6.4.0-159998.55.1
- kernel-default Linux Micro 6.0 6.4.0-159998.55.1
- kernel-kvmsmall Linux Micro 6.0 6.4.0-159998.55.1
- kernel-default-base Linux Micro 6.0 6.4.0-159998.55.1.159998.21.42
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.90.1
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.90.1
- kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.90.1
- kernel-source SLE Module for Development Tools 15 SP7, SLE Module for Basesystem 15 SP7 6.4.0-150700.53.90.1
suse advisories SUSE-SU-2026:24550-1SUSE-SU-2026:5091-1
- kernel-source openSUSE Tumbleweed 7.2.10-1.1
opensuse advisories openSUSE-SU-2026:12131-1
- kernel Azure Linux 3.0 6.6.158.1-1
azure linux advisories AZL-106002
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- git.kernel.org/stable/c/7d2f0ec16b300645f20435a6c3827b15e01419af commit
- git.kernel.org/stable/c/d1acf4b9f6e9697406ce84ee9acfb92e094d5c7a commit
- git.kernel.org/stable/c/0b8c8504593409954ed1a60db4e437d814e04023 commit
- git.kernel.org/stable/c/da4929ee78ee701c3717543840798fedff66c430 commit
- git.kernel.org/stable/c/57f5e29db63f7c80f1805d89234a74dcdbf60231 commit
- git.kernel.org/stable/c/4885e587f1afa9e1a573ab66f8c4d94d7b836d86 commit
- git.kernel.org/stable/c/3ae80c1fb7de4d3331427a955a44807745ac5a33 commit
- git.kernel.org/stable/c/8b0cc8707f65e0f51912e764e1b309b2559db1ec commit
Is CVE-2026-98207 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-98207 updated cvss 5.5
kernel: mmc: spi: reset bytes_xfered before retrying CRC failures
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernel Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8, openshift/ose-rhel-coreos-9not affected: vulnerable code not present
+1 more productsfewer
Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.18% chance of exploitation in the next 30 days, higher than 7% of all scored CVEs (FIRST EPSS, 2026-11-11).
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/7d2f0ec16b300645f20435a6c3827b15e01419af
- git.kernel.org /stable/c/d1acf4b9f6e9697406ce84ee9acfb92e094d5c7a
- git.kernel.org /stable/c/0b8c8504593409954ed1a60db4e437d814e04023
- git.kernel.org /stable/c/da4929ee78ee701c3717543840798fedff66c430
- git.kernel.org /stable/c/57f5e29db63f7c80f1805d89234a74dcdbf60231
- git.kernel.org /stable/c/4885e587f1afa9e1a573ab66f8c4d94d7b836d86
- git.kernel.org /stable/c/3ae80c1fb7de4d3331427a955a44807745ac5a33
- git.kernel.org /stable/c/8b0cc8707f65e0f51912e764e1b309b2559db1ec
Sources
- CVE List CVE-2026-98207
- NVD CVE-2026-98207
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.