Description
In the Linux kernel, the following vulnerability has been resolved: can: softing: fw_parse(): validate firmware record spans fw_parse() reads a fixed record header, a firmware-provided payload, and a trailing checksum without knowing the end of the firmware blob. A truncated record can therefore make those reads exceed the blob. The same record also supplies addresses and lengths for writes into DPRAM. The generic loader uses wrap-prone mixed signed arithmetic for its bounds check, while the application loader does not bound the staging copy at all. Pass the firmware end to the parser and validate the full source record. Use a signed wide offset for generic DPRAM records and validate the application staging span against the mapped DPRAM before copying.
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
03fd3cf5a179da12e6bee5e9d74b648aff68dc4c to < f6d9a6a9512430b395a1940d7b216394fd02d30baffected03fd3cf5a179da12e6bee5e9d74b648aff68dc4c to < 84c850b08fc0d671c245144b619683129b55690aaffected03fd3cf5a179da12e6bee5e9d74b648aff68dc4c to < d0eac0ea7cf493e787fd7b4a556e43ef03cb4b50affected03fd3cf5a179da12e6bee5e9d74b648aff68dc4c to < ae588e5b9cc268de1aabf30f939f0870717ca164affected03fd3cf5a179da12e6bee5e9d74b648aff68dc4c to < ad331e26fd213a19fee0de18cdacd67b7ff5b478affected03fd3cf5a179da12e6bee5e9d74b648aff68dc4c to < 2ee477e541a6d5e434d6a4041c6b677ab42e1d82affected03fd3cf5a179da12e6bee5e9d74b648aff68dc4c to < 808ed899dcf8bdef66894fda5eb7ee4bb0eb8dc1affected03fd3cf5a179da12e6bee5e9d74b648aff68dc4c to < 856d6cb04e5407523566b075841dcd6423757d1caffected
Linux Linux
Default version status: affected
2.6.38affected0 to < 2.6.38unaffected5.10.265 to ≤ 5.10.*unaffected5.15.216 to ≤ 5.15.*unaffected6.1.183 to ≤ 6.1.*unaffected6.6.151 to ≤ 6.6.*unaffected6.12.103 to ≤ 6.12.*unaffected6.18.44 to ≤ 6.18.*unaffected7.1.8 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/f6d9a6a9512430b395a1940d7b216394fd02d30b ↗
- https://git.kernel.org/stable/c/84c850b08fc0d671c245144b619683129b55690a ↗
- https://git.kernel.org/stable/c/d0eac0ea7cf493e787fd7b4a556e43ef03cb4b50 ↗
- https://git.kernel.org/stable/c/ae588e5b9cc268de1aabf30f939f0870717ca164 ↗
- https://git.kernel.org/stable/c/ad331e26fd213a19fee0de18cdacd67b7ff5b478 ↗
- https://git.kernel.org/stable/c/2ee477e541a6d5e434d6a4041c6b677ab42e1d82 ↗
- https://git.kernel.org/stable/c/808ed899dcf8bdef66894fda5eb7ee4bb0eb8dc1 ↗
- https://git.kernel.org/stable/c/856d6cb04e5407523566b075841dcd6423757d1c ↗