CVE-2026-31505

HIGHNVD 7.87.8
EchelonGraph scoreMEDIUM confidence

Score 7.8 from GitHub Security Advisory (severity: HIGH) published 2026-04-22. NVD baseline CVSS 7.8; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
7.8EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 7.8Exploit: None knownExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

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

iavf: fix out-of-bounds writes in iavf_get_ethtool_stats()

iavf incorrectly uses real_num_tx_queues for ETH_SS_STATS. Since the value could change in runtime, we should use num_tx_queues instead.

Moreover iavf_get_ethtool_stats() uses num_active_queues while iavf_get_sset_count() and iavf_get_stat_strings() use real_num_tx_queues, which triggers out-of-bounds writes when we do "ethtool -L" and "ethtool -S" simultaneously [1].

For example when we change channels from 1 to 8, Thread 3 could be scheduled before Thread 2, and out-of-bounds writes could be triggered in Thread 3:

Thread 1 (ethtool -L) Thread 2 (work) Thread 3 (ethtool -S) iavf_set_channels() ... iavf_alloc_queues() -> num_active_queues = 8 iavf_schedule_finish_config() iavf_get_sset_count() real_num_tx_queues: 1 -> buffer for 1 queue iavf_get_ethtool_stats() num_active_queues: 8 -> out-of-bounds! iavf_finish_config() -> real_num_tx_queues = 8

Use immutable num_tx_queues in all related functions to avoid the issue.

[1] BUG: KASAN: vmalloc-out-of-bounds in iavf_add_one_ethtool_stat+0x200/0x270 Write of size 8 at addr ffffc900031c9080 by task ethtool/5800

CPU: 1 UID: 0 PID: 5800 Comm: ethtool Not tainted 6.19.0-enjuk-08403-g8137e3db7f1c #241 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Call Trace: dump_stack_lvl+0x6f/0xb0 print_report+0x170/0x4f3 kasan_report+0xe1/0x180 iavf_add_one_ethtool_stat+0x200/0x270 iavf_get_ethtool_stats+0x14c/0x2e0 __dev_ethtool+0x3d0c/0x5830 dev_ethtool+0x12d/0x270 dev_ioctl+0x53c/0xe30 sock_do_ioctl+0x1a9/0x270 sock_ioctl+0x3d4/0x5e0 __x64_sys_ioctl+0x137/0x1c0 do_syscall_64+0xf3/0x690 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f7da0e6e36d ...

The buggy address belongs to a 1-page vmalloc region starting at 0xffffc900031c9000 allocated at __dev_ethtool+0x3cc9/0x5830 The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff88813a013de0 pfn:0x13a013 flags: 0x200000000000000(node=0|zone=2) raw: 0200000000000000 0000000000000000 dead000000000122 0000000000000000 raw: ffff88813a013de0 0000000000000000 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected

Memory state around the buggy address: ffffc900031c8f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 ffffc900031c9000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffffc900031c9080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 ^ ffffc900031c9100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 ffffc900031c9180: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8

CVSS v3
7.8
EG Score
7.8(medium)
EG Risk
40(Track)
EG Risk 40/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity78% × 45%
Exploitation0% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
3%
KEV
Not listed

Published

April 22, 2026

Last Modified

August 5, 2026

Advisory Details (4)

Auto-updated Jun 6, 2026
No patch confirmed yet.
generic

iavf: fix out-of-bounds writes in iavf_get_ethtool_stats() - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/fecacfc95f195b99c71c579a472120d0b4ed65fa
generic

iavf: fix out-of-bounds writes in iavf_get_ethtool_stats() - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/fdf902bf86a80bf15792a1d20a67a5302498d7f1
generic

iavf: fix out-of-bounds writes in iavf_get_ethtool_stats() - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/bb85741d2dc2be207353a412f51b83697fcbefcf
generic

iavf: fix out-of-bounds writes in iavf_get_ethtool_stats() - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/1f931dee5b726df1940348ec31614d64bac03aa6

Vendor Advisories for CVE-2026-31505(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Patch Availability(1)

Vendor / EcosystemFixed in / PatchReleasedSource
linuxKernel @ 6.12.80osv

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Affected Packages

(3 across 3 ecosystems)
Debian:12(1)
PackageVulnerable rangeFixed inDependents
linux6.1.106-1 ... 7.2~rc7-1~exp1 (350 versions)
Debian:13(1)
PackageVulnerable rangeFixed inDependents
linux6.12.38-1 ... 6.12.85-1~bpo12+1 (17 versions)6.12.85-1
Debian:14(1)
PackageVulnerable rangeFixed inDependents
linux6.12.100-1 ... 6.19~rc8-1~exp1 (124 versions)6.19.11-1

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

All Vendor Advisories

(13)

Data Freshness Timeline

(refreshed 5× in last 7d / 29× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 233 total refreshes for this CVE.

  1. 2026-09-13 16:47 UTCEPSS rescore
  2. 2026-09-12 15:01 UTCEPSS rescore
  3. 2026-09-11 14:52 UTCEPSS rescore
  4. 2026-09-10 09:34 UTCEPSS rescore
  5. 2026-09-08 22:00 UTCEPSS rescore
  6. 2026-09-07 16:01 UTCEPSS rescore
  7. 2026-09-06 13:47 UTCEPSS rescore
  8. 2026-09-06 13:47 UTCEPSS rescore
  9. 2026-09-04 05:06 UTCEPSS rescore
  10. 2026-09-02 14:11 UTCEPSS rescore
  11. 2026-09-02 03:04 UTCOSV refresh
  12. 2026-09-01 13:53 UTCEPSS rescore
  13. 2026-09-01 04:39 UTCEPSS rescore
  14. 2026-09-01 04:39 UTCEPSS rescore
  15. 2026-08-30 19:17 UTCEPSS rescore
  16. 2026-08-30 01:22 UTCEPSS rescore
  17. 2026-08-28 21:41 UTCEPSS rescore
  18. 2026-08-27 14:25 UTCEPSS rescore
  19. 2026-08-26 14:46 UTCEPSS rescore
  20. 2026-08-25 13:49 UTCEPSS rescore
  21. 2026-08-24 14:17 UTCEPSS rescore
  22. 2026-08-23 00:19 UTCEPSS rescore
  23. 2026-08-21 23:49 UTCEPSS rescore
  24. 2026-08-20 22:55 UTCEPSS rescore
  25. 2026-08-20 22:55 UTCEPSS rescore
Show 75 more
  1. 2026-08-19 17:03 UTCEPSS rescore
  2. 2026-08-18 13:48 UTCEPSS rescore
  3. 2026-08-17 13:47 UTCEPSS rescore
  4. 2026-08-16 14:56 UTCEPSS rescore
  5. 2026-08-16 05:59 UTCEG score recompute
  6. 2026-08-16 05:59 UTCVendor advisory
  7. 2026-08-16 05:59 UTCGHSA enrichment
  8. 2026-08-16 02:14 UTCEPSS rescore
  9. 2026-08-15 01:30 UTCEPSS rescore
  10. 2026-08-14 16:15 UTCVendor advisory
  11. 2026-08-14 16:15 UTCGHSA enrichment
  12. 2026-08-14 04:19 UTCEG score recompute
  13. 2026-08-14 04:19 UTCVendor advisory
  14. 2026-08-14 04:19 UTCGHSA enrichment
  15. 2026-08-13 22:00 UTCEPSS rescore
  16. 2026-08-13 08:39 UTCVendor advisory
  17. 2026-08-13 08:39 UTCGHSA enrichment
  18. 2026-08-12 18:30 UTCEG score recompute
  19. 2026-08-12 18:30 UTCVendor advisory
  20. 2026-08-12 18:30 UTCGHSA enrichment
  21. 2026-08-12 13:50 UTCEPSS rescore
  22. 2026-08-11 16:47 UTCEG score recompute
  23. 2026-08-11 16:47 UTCVendor advisory
  24. 2026-08-11 16:47 UTCGHSA enrichment
  25. 2026-08-11 02:21 UTCEG score recompute
  26. 2026-08-11 02:21 UTCVendor advisory
  27. 2026-08-11 02:21 UTCGHSA enrichment
  28. 2026-08-11 00:00 UTCEPSS rescore
  29. 2026-08-10 03:25 UTCVendor advisory
  30. 2026-08-10 03:25 UTCGHSA enrichment
  31. 2026-08-09 15:29 UTCEG score recompute
  32. 2026-08-09 15:29 UTCVendor advisory
  33. 2026-08-09 15:29 UTCGHSA enrichment
  34. 2026-08-09 13:46 UTCEPSS rescore
  35. 2026-08-09 03:32 UTCEG score recompute
  36. 2026-08-09 03:32 UTCVendor advisory
  37. 2026-08-09 03:32 UTCGHSA enrichment
  38. 2026-08-08 16:37 UTCEPSS rescore
  39. 2026-08-08 12:42 UTCVendor advisory
  40. 2026-08-08 12:42 UTCGHSA enrichment
  41. 2026-08-08 00:45 UTCEG score recompute
  42. 2026-08-08 00:45 UTCVendor advisory
  43. 2026-08-08 00:45 UTCGHSA enrichment
  44. 2026-08-07 12:49 UTCEG score recompute
  45. 2026-08-07 12:49 UTCVendor advisory
  46. 2026-08-07 12:49 UTCGHSA enrichment
  47. 2026-08-06 13:46 UTCEPSS rescore
  48. 2026-08-06 12:31 UTCVendor advisory
  49. 2026-08-06 12:31 UTCGHSA enrichment
  50. 2026-08-06 00:35 UTCEG score recompute
  51. 2026-08-06 00:35 UTCVendor advisory
  52. 2026-08-06 00:35 UTCGHSA enrichment
  53. 2026-08-05 19:17 UTCEPSS rescore
  54. 2026-08-05 12:39 UTCEG score recompute
  55. 2026-08-05 12:39 UTCVendor advisory
  56. 2026-08-05 12:39 UTCGHSA enrichment
  57. 2026-08-04 15:10 UTCEPSS rescore
  58. 2026-08-04 10:38 UTCEPSS rescore
  59. 2026-08-03 21:14 UTCEG score recompute
  60. 2026-08-03 21:14 UTCVendor advisory
  61. 2026-08-03 21:14 UTCGHSA enrichment
  62. 2026-08-03 10:36 UTCEPSS rescore
  63. 2026-08-03 00:42 UTCVendor advisory
  64. 2026-08-03 00:42 UTCGHSA enrichment
  65. 2026-08-02 12:09 UTCEG score recompute
  66. 2026-08-02 12:09 UTCVendor advisory
  67. 2026-08-02 12:09 UTCGHSA enrichment
  68. 2026-08-02 02:27 UTCEPSS rescore
  69. 2026-08-01 04:16 UTCEPSS rescore
  70. 2026-07-30 16:27 UTCEPSS rescore
  71. 2026-07-30 01:30 UTCEPSS rescore
  72. 2026-07-28 15:36 UTCEPSS rescore
  73. 2026-07-26 14:54 UTCEPSS rescore
  74. 2026-07-26 14:54 UTCEPSS rescore
  75. 2026-07-25 14:18 UTCEPSS rescore

Frequently asked(5)

What is CVE-2026-31505?
CVE-2026-31505 is a high vulnerability published on April 22, 2026. In the Linux kernel, the following vulnerability has been resolved: iavf: fix out-of-bounds writes in iavfgetethtool_stats() iavf incorrectly uses realnumtxqueues for ETHSS_STATS. Since the value could change in runtime, we should use numtxqueues instead. Moreover iavfgetethtoolstats() uses…
When was CVE-2026-31505 disclosed?
CVE-2026-31505 was first published in the National Vulnerability Database on April 22, 2026, with the most recent update on August 5, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-31505 actively exploited?
CVE-2026-31505 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 97.2% of all scored CVEs.
What is the CVSS score of CVE-2026-31505?
CVE-2026-31505 has a CVSS v3 base score of 7.8 (NVD).
How do I remediate CVE-2026-31505?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-31505, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-31505

Explore →

Is Your Infrastructure Affected by CVE-2026-31505?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.