firmware: arm_ffa: Fix out-of-bound writes in ffa_setup_and_transmit()
- 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 5.16, 6.2, 6.4, 6.6.160, 6.12.114, 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
Summary
In the Linux kernel, the following vulnerability has been resolved: firmware: arm_ffa: Fix out-of-bound writes in ffa_setup_and_transmit() Sashiko (locally) reports multiple out-of-bound issues in ffa_setup_and_transmit: 1) Writing ep_mem_access->reserved can write out of bounds for FFA versions < 1.2 as ffa_emad_size_get() returns 16 bytes in that case while reserved has an offset of 24. Instead of zeroing fields, memset the struct to zero first based on the FFA version. 2) Make sure there is enough size to write constituents. While at it, convert the only sizeof() in the driver that uses a type instead of variable.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 111a833dc5cbef3d05b2a796a7e23cb7f6ff2192 · fixed in d312a71b19bb83803c8d1372bc042bd36db657f7; From 111a833dc5cbef3d05b2a796a7e23cb7f6ff2192 · fixed in 00bef9d0f9e787f56ff4699d3b577983ff8b7f24; From 111a833dc5cbef3d05b2a796a7e23cb7f6ff2192 · fixed in cf5708c9d78c98214c62b1e5d049cd527a543b8e; From 111a833dc5cbef3d05b2a796a7e23cb7f6ff2192 · fixed in 27abdaf0c5c89b06694e4c3d8318e8d6a60c1d1b; From 111a833dc5cbef3d05b2a796a7e23cb7f6ff2192 · fixed in 3383ffb7ef937317361713ffcc21921a7848511a; From 5.15.114 · fixed in 5.16; From 6.1.31 · fixed in 6.2; From 6.3.5 · fixed in 6.4
- Linux Linux
6.4
- KernelLinux
From 6.4.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.114; From 6.13.0 · fixed in 6.18.42; From 6.19.0 · fixed in 7.1.6