fprobe: Terminate the fgraph_data list when the reservation is not filled
- 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 7.2.9
- 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
Summary
In the Linux kernel, the following vulnerability has been resolved: fprobe: Terminate the fgraph_data list when the reservation is not filled fprobe_fgraph_entry() reserves shadow stack space for every fprobe with an exit handler, but only fills it for those whose entry handler returns 0. fgraph_reserve_data() does not clear the area, so fprobe_return() parses the unused tail as headers left over from an earlier call, and an exit handler can run twice or despite its entry handler asking to skip it. Write a zero word after the last entry to terminate the walk. A zeroed slot does not decode to a NULL fprobe on the arches that encode the header into one unsigned long, since arch_decode_fprobe_header_fp() ORs in FPROBE_HEADER_MSB_PATTERN, so make read_fprobe_header() return NULL for a zeroed slot.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From e0a384434ae1bdfb03954c46c464e3dbd3223ad6 · fixed in b7459fddcb27a4b7d01067678172afa362cf660d; From e0a384434ae1bdfb03954c46c464e3dbd3223ad6 · fixed in 1d653a183973f5283a3db5a38cd5e195eb152244
- Linux Linux
7.1
- KernelLinux
From 7.1.0 · fixed in 7.2.9