Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
29e8142b5623b5949587bcc4f591c4e6595c4aca to < c06028db620854b11ad81b04b0a4e1ead930cb76affected29e8142b5623b5949587bcc4f591c4e6595c4aca to < 0e70a9b0d16acf7adebc4f386178a95da27c0027affected29e8142b5623b5949587bcc4f591c4e6595c4aca to < ee053561e21ce1e1741dd64ca5ddcdb92e40edc1affected29e8142b5623b5949587bcc4f591c4e6595c4aca to < 6cc6c28c9ab6e8ecf901397717a5b391b828cdafaffected29e8142b5623b5949587bcc4f591c4e6595c4aca to < ab1112df8f4ffa88cb024dd370c432ced80f77d8affected
Linux Linux
Default version status: affected
6.3affected0 to < 6.3unaffected6.6.157 to ≤ 6.6.*unaffected6.12.109 to ≤ 6.12.*unaffected6.18.50 to ≤ 6.18.*unaffected7.2.4 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/c06028db620854b11ad81b04b0a4e1ead930cb76 ↗
- https://git.kernel.org/stable/c/0e70a9b0d16acf7adebc4f386178a95da27c0027 ↗
- https://git.kernel.org/stable/c/ee053561e21ce1e1741dd64ca5ddcdb92e40edc1 ↗
- https://git.kernel.org/stable/c/6cc6c28c9ab6e8ecf901397717a5b391b828cdaf ↗
- https://git.kernel.org/stable/c/ab1112df8f4ffa88cb024dd370c432ced80f77d8 ↗