power: supply: qcom_battmgr: terminate the strings from firmware
- 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 6.6.157, 6.12.109, 6.18.50, 7.2.4
- 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: power: supply: qcom_battmgr: terminate the strings from firmware The qcom_battmgr_sc8280xp_strcpy() takes a Pascal-style string when the firmware sends one. Otherwise it copies all BATTMGR_STRING_LEN bytes and leaves the destination without a terminator. Those destinations are model_number, serial_number and oem_info, each BATTMGR_STRING_LEN and declared next to each other. They go out to user space as val->strval, which power_supply_format_property() prints with "%s", so a firmware string that fills the whole field makes that read run into the following members. Use strscpy() so the copy always terminates, the way the SM8350 path already does for the same field.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 29e8142b5623b5949587bcc4f591c4e6595c4aca · fixed in c06028db620854b11ad81b04b0a4e1ead930cb76; From 29e8142b5623b5949587bcc4f591c4e6595c4aca · fixed in 0e70a9b0d16acf7adebc4f386178a95da27c0027; From 29e8142b5623b5949587bcc4f591c4e6595c4aca · fixed in ee053561e21ce1e1741dd64ca5ddcdb92e40edc1; From 29e8142b5623b5949587bcc4f591c4e6595c4aca · fixed in 6cc6c28c9ab6e8ecf901397717a5b391b828cdaf; From 29e8142b5623b5949587bcc4f591c4e6595c4aca · fixed in ab1112df8f4ffa88cb024dd370c432ced80f77d8
- Linux Linux
6.3
- KernelLinux
From 6.3.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.109; From 6.13.0 · fixed in 6.18.50; From 6.19.0 · fixed in 7.2.4