Skip to main content
← All vulnerabilities
CVE-2024-35905

bpf: Protect against int overflow for stack access size

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.215, 5.15.154, 6.1.85, 6.6.26, 6.8, and 1 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

In the Linux kernel, the following vulnerability has been resolved: bpf: Protect against int overflow for stack access size This patch re-introduces protection against the size of access to stack memory being negative; the access size can appear negative as a result of overflowing its signed int representation. This should not actually happen, as there are other protections along the way, but we should protect against it anyway. One code path was missing such protections (fixed in the previous patch in the series), causing out-of-bounds array accesses in check_stack_range_initialized(). This patch causes the verification of a program with such a non-sensical access size to fail. This check used to exist in a more indirect way, but was inadvertendly removed in a833a17aeac7.

Timeline

  1. CVE published
  2. CISA SSVC assessment

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

  3. Record last updated

Affected versions

  • Linux Linux

    From afea95d319ccb4ad2060dece9ac5e2e364dec543 · fixed in 9970e059af471478455f9534e8c3db82f8c5496d; From 02962684258eb53f414a8a59854767be526e6abb · fixed in 37dc1718dc0c4392dbfcb9adec22a776e745dd69; From b1d4d54d32ce6342f5faffe71bae736540ce7cb5 · fixed in 98cdac206b112bec63852e94802791e316acc2c1; From 08b91babccbb168353f8d43fea0ed28a4cad568c · fixed in 3f0784b2f1eb9147973d8c43ba085c5fdf44ff69; From a833a17aeac73b33f79433d7cee68d5cafd71e4f · fixed in 203a68151e8eeb331d4a64ab78303f3a15faf103; From a833a17aeac73b33f79433d7cee68d5cafd71e4f · fixed in ecc6a2101840177e57c925c102d2d29f260d37c8; From 5.10.209 · fixed in 5.10.215; From 5.15.148 · fixed in 5.15.154; From 6.1.75 · fixed in 6.1.85; From 6.6.14 · fixed in 6.6.26; From 6.7.2 · fixed in 6.8

  • Linux Linux

    6.8

  • KernelLinux

    fixed in 5.10.215; From 5.11.0 · fixed in 5.15.154; From 5.16.0 · fixed in 6.1.85; From 6.2.0 · fixed in 6.6.26; From 6.7.0 · fixed in 6.8.5

References 6

git.kernel.org