CVE-2025-21647 json
sched: sch_cake: add bounds checks to host bulk flow fairness counts
published 2025-01-19 21 mo ago modified 2026-10-15 25 d ago also EUVD-2025-2596
- cvss
- 7.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 21%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
sched: sch_cake: add bounds checks to host bulk flow fairness counts
Even though we fixed a logic error in the commit cited below, syzbot still managed to trigger an underflow of the per-host bulk flow counters, leading to an out of bounds memory access.
To avoid any such logic errors causing out of bounds memory accesses, this commit factors out all accesses to the per-host bulk flow counters to a series of helpers that perform bounds-checking before any increments and decrements. This also has the benefit of improving readability by moving the conditional checks for the flow mode into these helpers, instead of having them spread out throughout the code (which was the cause of the original logic error).
As part of this change, the flow quantum calculation is consolidated into a helper function, which means that the dithering applied to the ost load scaling is now applied both in the DRR rotation and when a sparse flow's quantum is first initiated. The only user-visible effect of this is that the maximum packet size that can be sent while a flow stays sparse will now vary with +/- one byte in some cases. This should not make a noticeable difference in practice, and thus it's not worth complicating the code to preserve the old behaviour.
Patch / fix
- Linux Linux 5.4.291, 5.10.235, 5.15.179, 6.1.125, 6.6.72, 6.11, 6.12.10, 6.13
- linux Debian 12 6.1.128-1
- linux Debian 14, Debian 13 6.12.10-1
debian advisories DEBIAN-CVE-2025-21647
- linux Ubuntu 20.04 LTS 5.4.0-216.236
- linux Ubuntu 22.04 LTS 5.15.0-140.150
- linux Ubuntu 24.04 LTS 6.8.0-60.63
- linux-aws Ubuntu 20.04 LTS 5.4.0-1146.156
- linux-aws Ubuntu 22.04 LTS 5.15.0-1084.91
- linux-aws Ubuntu 24.04 LTS 6.8.0-1029.31
- linux-gcp Ubuntu 20.04 LTS 5.4.0-1149.158
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1083.92
ubuntu advisories UBUNTU-CVE-2025-21647
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 RHEL 9 5.14.0-611.5.1.el9_7
- rv RHEL 9 5.14.0-611.5.1.el9_7
- perf RHEL 9 5.14.0-611.5.1.el9_7
- rtla RHEL 9 5.14.0-611.5.1.el9_7
- libperf RHEL 9 5.14.0-611.5.1.el9_7
- kernel-rt RHEL 9 5.14.0-611.5.1.el9_7
- kernel-64k RHEL 9 5.14.0-611.5.1.el9_7
- kernel-core RHEL 9 5.14.0-611.5.1.el9_7
red hat advisories RHSA-2026:2352RHSA-2025:20518RHSA-2025:20095
- kernel-source Linux Micro 6.1, Linux Micro 6.0 6.4.0-28.1
- kernel-default Linux Micro 6.1, Linux Micro 6.0 6.4.0-28.1
- kernel-kvmsmall Linux Micro 6.1, Linux Micro 6.0 6.4.0-28.1
- kernel-default-base Linux Micro 6.1, Linux Micro 6.0 6.4.0-28.1.21.6
- kernel-livepatch-MICRO-6-0_Update_6 Linux Micro 6.1, Linux Micro 6.0 1-3.1
- kernel-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-28.1
- kernel-source-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-28.1
- kernel-livepatch-MICRO-6-0-RT_Update_6 Linux Micro 6.1, Linux Micro 6.0 1-3.1
suse advisories SUSE-SU-2025:20192-1SUSE-SU-2025:20270-1SUSE-SU-2025:20190-1SUSE-SU-2025:20260-1SUSE-SU-2025:0955-1SUSE-SU-2025:0856-1
- kernel AlmaLinux 10 6.12.0-124.8.1.el10_1
- rv AlmaLinux 10 6.12.0-124.8.1.el10_1
- perf AlmaLinux 10 6.12.0-124.8.1.el10_1
- rtla AlmaLinux 10 6.12.0-124.8.1.el10_1
- libperf AlmaLinux 10 6.12.0-124.8.1.el10_1
- kernel-rt AlmaLinux 10 6.12.0-124.8.1.el10_1
- kernel-64k AlmaLinux 10 6.12.0-124.8.1.el10_1
- kernel-core AlmaLinux 10 6.12.0-124.8.1.el10_1
almalinux advisories ALSA-2025:20095ALSA-2025:20518
- kernel Rocky Linux 10 6.12.0-124.8.1.el10_1
- kernel Rocky Linux 9 5.14.0-611.5.1.el9_7
rocky linux advisories RLSA-2025:20095RLSA-2025:20518
- git.kernel.org/stable/c/44fe1efb4961c1a5ccab16bb579dfc6b308ad58b commit
- git.kernel.org/stable/c/b1a1743aaa4906c41c426eda97e2e2586f79246d commit
- git.kernel.org/stable/c/bb0245fa72b783cb23a9949c5048781341e91423 commit
- git.kernel.org/stable/c/a777e06dfc72bed73c05dcb437d7c27ad5f90f3f commit
- git.kernel.org/stable/c/27202e2e8721c3b23831563c36ed5ac7818641ba commit
- git.kernel.org/stable/c/91bb18950b88f955838ec0c1d97f74d135756dc7 commit
- git.kernel.org/stable/c/737d4d91d35b5f7fa5bb442651472277318b0bfd commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-21647 updated cvss 7.1
kernel: sched: sch_cake: add bounds checks to host bulk flow fairness counts
-
Red Hat Enterprise Linux 9 kernel-rt, kernel-rt-kvm, kernel-rt-core, kernel-rt-modules, kernel-rt-debug-kvm, kernel-rt-debug-core, +12 moreaffected: no fix available
-
Red Hat CodeReady Linux Builder EUS (v.9.6) libperf 5.14.0-570.86.1.el9_6, kernel-debuginfo-common-s390x 5.14.0-570.86.1.el9_6, kernel-debuginfo-common-x86_64 5.14.0-570.86.1.el9_6, kernel-debuginfo-common-aarch64 5.14.0-570.86.1.el9_6, kernel-debuginfo-common-ppc64le 5.14.0-570.86.1.el9_6fixed: vendor fix RHSA-2026:2352
-
Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-611.5.1.el9_7, perf 5.14.0-611.5.1.el9_7, rtla 5.14.0-611.5.1.el9_7, python3-perf 5.14.0-611.5.1.el9_7, kernel-devel-matched 5.14.0-611.5.1.el9_7, kernel-64k-devel-matched 5.14.0-611.5.1.el9_7, +7 morefixed: vendor fix RHSA-2025:20518
-
Red Hat Enterprise Linux AppStream (v. 10) rv 6.12.0-124.8.1.el10_1, perf 6.12.0-124.8.1.el10_1, rtla 6.12.0-124.8.1.el10_1, python3-perf 6.12.0-124.8.1.el10_1, kernel-devel-matched 6.12.0-124.8.1.el10_1, kernel-64k-devel-matched 6.12.0-124.8.1.el10_1, +7 morefixed: vendor fix RHSA-2025:20095
-
Red Hat Enterprise Linux AppStream EUS (v.9.6) rv 5.14.0-570.86.1.el9_6, perf 5.14.0-570.86.1.el9_6, rtla 5.14.0-570.86.1.el9_6, python3-perf 5.14.0-570.86.1.el9_6, kernel-devel-matched 5.14.0-570.86.1.el9_6, kernel-64k-devel-matched 5.14.0-570.86.1.el9_6, +7 morefixed: vendor fix RHSA-2026:2352
-
Red Hat Enterprise Linux BaseOS (v. 9) kernel 5.14.0-611.5.1.el9_7, kernel-64k 5.14.0-611.5.1.el9_7, kernel-core 5.14.0-611.5.1.el9_7, kernel-tools 5.14.0-611.5.1.el9_7, kernel-modules 5.14.0-611.5.1.el9_7, kernel-64k-core 5.14.0-611.5.1.el9_7, +27 morefixed: vendor fix RHSA-2025:20518
-
Red Hat Enterprise Linux BaseOS (v. 10) kernel 6.12.0-124.8.1.el10_1, kernel-64k 6.12.0-124.8.1.el10_1, kernel-core 6.12.0-124.8.1.el10_1, kernel-tools 6.12.0-124.8.1.el10_1, kernel-modules 6.12.0-124.8.1.el10_1, kernel-64k-core 6.12.0-124.8.1.el10_1, +28 morefixed: vendor fix RHSA-2025:20095
-
Red Hat Enterprise Linux BaseOS EUS (v.9.6) kernel 5.14.0-570.86.1.el9_6, kernel-64k 5.14.0-570.86.1.el9_6, kernel-core 5.14.0-570.86.1.el9_6, kernel-tools 5.14.0-570.86.1.el9_6, kernel-modules 5.14.0-570.86.1.el9_6, kernel-64k-core 5.14.0-570.86.1.el9_6, +27 morefixed: vendor fix RHSA-2026:2352
show 9 moreshow fewer
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) libperf 5.14.0-611.5.1.el9_7, kernel-debuginfo-common-s390x 5.14.0-611.5.1.el9_7, kernel-debuginfo-common-x86_64 5.14.0-611.5.1.el9_7, kernel-debuginfo-common-aarch64 5.14.0-611.5.1.el9_7, kernel-debuginfo-common-ppc64le 5.14.0-611.5.1.el9_7fixed: vendor fix RHSA-2025:20518
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) libperf 6.12.0-124.8.1.el10_1, kernel-debuginfo-common-s390x 6.12.0-124.8.1.el10_1, kernel-debuginfo-common-x86_64 6.12.0-124.8.1.el10_1, kernel-debuginfo-common-aarch64 6.12.0-124.8.1.el10_1, kernel-debuginfo-common-ppc64le 6.12.0-124.8.1.el10_1fixed: vendor fix RHSA-2025:20095
-
Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-611.5.1.el9_7, kernel-rt-64k 5.14.0-611.5.1.el9_7, kernel-rt-core 5.14.0-611.5.1.el9_7, kernel-rt-modules 5.14.0-611.5.1.el9_7, kernel-rt-64k-core 5.14.0-611.5.1.el9_7, kernel-rt-debug-core 5.14.0-611.5.1.el9_7, +14 morefixed: vendor fix RHSA-2025:20518
-
Red Hat Enterprise Linux Real Time (v. 10) kernel-rt 6.12.0-124.8.1.el10_1, kernel-rt-64k 6.12.0-124.8.1.el10_1, kernel-rt-core 6.12.0-124.8.1.el10_1, kernel-rt-modules 6.12.0-124.8.1.el10_1, kernel-rt-64k-core 6.12.0-124.8.1.el10_1, kernel-rt-debug-core 6.12.0-124.8.1.el10_1, +14 morefixed: vendor fix RHSA-2025:20095
-
Red Hat Enterprise Linux Real Time EUS (v.9.6) kernel-rt 5.14.0-570.86.1.el9_6, kernel-rt-64k 5.14.0-570.86.1.el9_6, kernel-rt-core 5.14.0-570.86.1.el9_6, kernel-rt-modules 5.14.0-570.86.1.el9_6, kernel-rt-64k-core 5.14.0-570.86.1.el9_6, kernel-rt-debug-core 5.14.0-570.86.1.el9_6, +14 morefixed: vendor fix RHSA-2026:2352
-
Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-611.5.1.el9_7, kernel-rt-core 5.14.0-611.5.1.el9_7, kernel-rt-modules 5.14.0-611.5.1.el9_7, kernel-rt-debug-core 5.14.0-611.5.1.el9_7, kernel-rt-modules-core 5.14.0-611.5.1.el9_7, kernel-rt-debug-modules 5.14.0-611.5.1.el9_7, +4 morefixed: vendor fix RHSA-2025:20518
-
Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt 6.12.0-124.8.1.el10_1, kernel-rt-core 6.12.0-124.8.1.el10_1, kernel-rt-modules 6.12.0-124.8.1.el10_1, kernel-rt-debug-core 6.12.0-124.8.1.el10_1, kernel-rt-modules-core 6.12.0-124.8.1.el10_1, kernel-rt-debug-modules 6.12.0-124.8.1.el10_1, +4 morefixed: vendor fix RHSA-2025:20095
-
Red Hat Enterprise Linux Real Time for NFV EUS (v.9.6) kernel-rt 5.14.0-570.86.1.el9_6, kernel-rt-kvm 5.14.0-570.86.1.el9_6, kernel-rt-core 5.14.0-570.86.1.el9_6, kernel-rt-modules 5.14.0-570.86.1.el9_6, kernel-rt-debug-kvm 5.14.0-570.86.1.el9_6, kernel-rt-debug-core 5.14.0-570.86.1.el9_6, +6 morefixed: vendor fix RHSA-2026:2352
-
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 morenot affected: vulnerable code not present
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
cisa ICSA-24-102-01 updated cvss 7.1
Siemens SIMATIC S7-1500 TM MFP
-
Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystemaffected: mitigation, no fix available
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
cisa ICSA-25-072-03 updated cvss 7.1
Siemens SIMATIC S7-1500 TM MFP
-
Siemens SIMATIC S7-1500 TM MFP - BIOSaffected: workaround, no fix available
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
Exploit prediction
0.28% chance of exploitation in the next 30 days, higher than 21% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.3 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H |
| NVD | 3.1 | 7.1 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H |
Affected products
- Linux Linux
- Siemens SIMATIC S7-1500 TM MFP - BIOS
- Siemens SIMATIC S7-1500 TM MFP - GNU/Linux subsystem
Classification
- Weakness
-
- CWE-125 Out-of-bounds Read
- Technology feeds
References
-
git.kernel.org
/stable/c/44fe1efb4961c1a5ccab16bb579dfc6b308ad58b
patch
-
git.kernel.org
/stable/c/b1a1743aaa4906c41c426eda97e2e2586f79246d
patch
-
git.kernel.org
/stable/c/bb0245fa72b783cb23a9949c5048781341e91423
patch
-
git.kernel.org
/stable/c/a777e06dfc72bed73c05dcb437d7c27ad5f90f3f
patch
-
git.kernel.org
/stable/c/27202e2e8721c3b23831563c36ed5ac7818641ba
patch
-
git.kernel.org
/stable/c/91bb18950b88f955838ec0c1d97f74d135756dc7
patch
-
git.kernel.org
/stable/c/737d4d91d35b5f7fa5bb442651472277318b0bfd
patch
- lists.debian.org /debian-lts-announce/2025/05/msg00030.html
- lists.debian.org /debian-lts-announce/2025/03/msg00001.html
- cert-portal.siemens.com /productcert/html/ssa-265688.html
- cert-portal.siemens.com /productcert/html/ssa-503939.html
Sources
- CVE List CVE-2025-21647
- NVD CVE-2025-21647
Fencer Vulns 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.