CVE-2025-21647
Vulnérabilité élevée dans Linux (Linux)
Description
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.
Gravité et risque d'exploitation
CVE-2025-21647 obtient un score CVSS de 7.3/10, soit une gravité élevée. Selon le modèle EPSS, la probabilité qu'elle soit exploitée dans les 30 prochains jours est de 0.28 %, ce qui la place devant 19.6 % des CVE référencées.
Que faire ?
- Vérifiez si Linux (versions 6.13, <=6.1.*, <=6.12.*, <27202e2e8721c3b23831563c36ed5ac7818641ba, <6.1.125, 0, 6.1.125, <44fe1efb4961c1a5ccab16bb579dfc6b308ad58b, 5.15.167, <5.10.235, 6.10.10, 546ea84d07e3e324644025e2aae2d12ea4c5896e, <=5.10.*, <=6.6.*, 5.10.226, 6.6.72, <=5.4.*, d7c01c0714c04431b5e18cf17a9ea68a553d1c3c, <b1a1743aaa4906c41c426eda97e2e2586f79246d, 5.4.291, <6.6.72, d4a9039a7b3d8005b90c7b1a55a306444f0e5447, 6.1.110, <5.15.179, 5.15.179, 5.4.284, <a777e06dfc72bed73c05dcb437d7c27ad5f90f3f, <6.11, 549e407569e08459d16122341d332cb508024094, 6.11, 4a4eeefa514db570be025ab46d779af180e2c9bb, cde71a5677971f4f1b69b25e854891dbe78066a4, <91bb18950b88f955838ec0c1d97f74d135756dc7, <737d4d91d35b5f7fa5bb442651472277318b0bfd, <=5.15.*, <=*, 6.12.10, 5.10.235, 6.6.51, <bb0245fa72b783cb23a9949c5048781341e91423, <5.4.291, 7725152b54d295b7da5e34c2f419539b30d017bd) est présent sur votre parc.
- Appliquez le correctif ou la version corrigée indiqués dans les références de l'éditeur.
- À défaut de correctif, limitez l'exposition (filtrage réseau, désactivation du composant).
- Automatisez la détection : les agents CVE Heimdall (gratuits, open source) corrèlent l'inventaire de vos serveurs avec la base CVE.
Références
- https://git.kernel.org/stable/c/44fe1efb4961c1a5ccab16bb579dfc6b308ad58b
- https://git.kernel.org/stable/c/b1a1743aaa4906c41c426eda97e2e2586f79246d
- https://git.kernel.org/stable/c/bb0245fa72b783cb23a9949c5048781341e91423
- https://git.kernel.org/stable/c/a777e06dfc72bed73c05dcb437d7c27ad5f90f3f
- https://git.kernel.org/stable/c/27202e2e8721c3b23831563c36ed5ac7818641ba
- https://git.kernel.org/stable/c/91bb18950b88f955838ec0c1d97f74d135756dc7
- https://git.kernel.org/stable/c/737d4d91d35b5f7fa5bb442651472277318b0bfd
