Skip to main content
← All vulnerabilities
CVE-2025-39973

i40e: add validation for ring_len param

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.4.300, 5.10.245, 5.15.194, 6.1.155, 6.6.109, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

In the Linux kernel, the following vulnerability has been resolved: i40e: add validation for ring_len param The `ring_len` parameter provided by the virtual function (VF) is assigned directly to the hardware memory context (HMC) without any validation. To address this, introduce an upper boundary check for both Tx and Rx queue lengths. The maximum number of descriptors supported by the hardware is 8k-32. Additionally, enforce alignment constraints: Tx rings must be a multiple of 8, and Rx rings must be a multiple of 32.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From 5c3c48ac6bf56367c4e89f6453cd2d61e50375bd · fixed in 0543d40d6513cdf1c7882811086e59a6455dfe97; From 5c3c48ac6bf56367c4e89f6453cd2d61e50375bd · fixed in 7d749e38dd2b7e8a80da2ca30c93e09de95bfcf9; From 5c3c48ac6bf56367c4e89f6453cd2d61e50375bd · fixed in 45a7527cd7da4cdcf3b06b5c0cb1cae30b5a5985; From 5c3c48ac6bf56367c4e89f6453cd2d61e50375bd · fixed in d3b0d3f8d11fa957171fbb186e53998361a88d4e; From 5c3c48ac6bf56367c4e89f6453cd2d61e50375bd · fixed in c0c83f4cd074b75cecef107bfc349be7d516c9c4; From 5c3c48ac6bf56367c4e89f6453cd2d61e50375bd · fixed in 05fe81fb9db20464fa532a3835dc8300d68a2f84; From 5c3c48ac6bf56367c4e89f6453cd2d61e50375bd · fixed in afec12adab55d10708179a64d95d650741e60fe0; From 5c3c48ac6bf56367c4e89f6453cd2d61e50375bd · fixed in 55d225670def06b01af2e7a5e0446fbe946289e8

  • Linux Linux

    3.12

  • KernelLinux

    From 3.12.0 · fixed in 5.4.300; From 5.5.0 · fixed in 5.10.245; From 5.11.0 · fixed in 5.15.194; From 5.16.0 · fixed in 6.1.155; From 6.2.0 · fixed in 6.6.109; From 6.7.0 · fixed in 6.12.50; From 6.13.0 · fixed in 6.16.10

References 8

git.kernel.org