tracing: Fix overflow in get_free_elt()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 4.19.320, 5.4.282, 5.10.224, 5.15.165, 6.1.105, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 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: tracing: Fix overflow in get_free_elt() "tracing_map->next_elt" in get_free_elt() is at risk of overflowing. Once it overflows, new elements can still be inserted into the tracing_map even though the maximum number of elements (`max_elts`) has been reached. Continuing to insert elements after the overflow could result in the tracing_map containing "tracing_map->max_size" elements, leaving no empty entries. If any attempt is made to insert an element into a full tracing_map using `__tracing_map_insert()`, it will cause an infinite loop with preemption disabled, leading to a CPU hang problem. Fix this by preventing any further increments to "tracing_map->next_elt" once it reaches "tracing_map->max_elt".
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 08d43a5fa063e03c860f2f391a30c388bcbc948e · fixed in 302ceb625d7b990db205a15e371f9a71238de91c; From 08d43a5fa063e03c860f2f391a30c388bcbc948e · fixed in d3e4dbc2858fe85d1dbd2e72a9fc5dea988b5c18; From 08d43a5fa063e03c860f2f391a30c388bcbc948e · fixed in eb223bf01e688dfe37e813c8988ee11c8c9f8d0a; From 08d43a5fa063e03c860f2f391a30c388bcbc948e · fixed in cd10d186a5409a1fe6e976df82858e9773a698da; From 08d43a5fa063e03c860f2f391a30c388bcbc948e · fixed in 788ea62499b3c18541fd6d621964d8fafbc4aec5; From 08d43a5fa063e03c860f2f391a30c388bcbc948e · fixed in a172c7b22bc2feaf489cfc6d6865f7237134fdf8; From 08d43a5fa063e03c860f2f391a30c388bcbc948e · fixed in 236bb4690773ab6869b40bedc7bc8d889e36f9d6; From 08d43a5fa063e03c860f2f391a30c388bcbc948e · fixed in bcf86c01ca4676316557dd482c8416ece8c2e143
- Linux Linux
4.7
- KernelLinux
From 4.7.0 · fixed in 4.19.320; From 4.20.0 · fixed in 5.4.282; From 5.5.0 · fixed in 5.10.224; From 5.11.0 · fixed in 5.15.165; From 5.16.0 · fixed in 6.1.105; From 6.2.0 · fixed in 6.6.46; From 6.7.0 · fixed in 6.10.5
References 8
git.kernel.org
- stable/c/302ceb625d7b990db205a15e371f9a71238de91c
- stable/c/d3e4dbc2858fe85d1dbd2e72a9fc5dea988b5c18
- stable/c/eb223bf01e688dfe37e813c8988ee11c8c9f8d0a
- stable/c/cd10d186a5409a1fe6e976df82858e9773a698da
- stable/c/788ea62499b3c18541fd6d621964d8fafbc4aec5
- stable/c/a172c7b22bc2feaf489cfc6d6865f7237134fdf8
- stable/c/236bb4690773ab6869b40bedc7bc8d889e36f9d6
- stable/c/bcf86c01ca4676316557dd482c8416ece8c2e143