Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: remoteproc: fix OOB read via signed offset in rsc_table_for_each_entry() table->offset[i] is a u32 from firmware, but was stored into a signed int. A crafted offset like 0xFFFFFFF0 becomes -16, placing hdr 16 bytes before the table buffer. The subsequent avail check was bypassed because the negative int was promoted to a large size_t in the expression "table_sz - offset - sizeof(*hdr)", yielding a large positive avail and letting the out-of-bounds hdr->type read proceed undetected. Store the offset as u32 and validate it with unsigned comparisons before any pointer arithmetic.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 before 0d385be8f199b349f325cf90584b47b6a044ea79; affected fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 before cc85e0d3d3333fd5fd2d50c9a4578d209d7f2564; affected fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 before 6a01ad25aa4f3a02153cf1d112cb9b65865cd5d8; affected fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 before c82241a9454b2d30d53b50884f94b7972ba44a5e; affected fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 before bc4940793aaa16a9cf90063b11d6926f8014a1b7; affected fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 before 6fd220604f06c746760183df74b07384c3fdd660; affected fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 before 6282d47b24b0c98d08d02807d676a7f67b4c052e; affected fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 before bb840ea69347aff7bde5a208e7b5b180669a7656 |
| Linux / Linux | affected 3.4; unaffected 0 before 3.4; unaffected 5.10.270 through 5.10.*; unaffected 5.15.221 through 5.15.*; unaffected 6.1.188 through 6.1.*; unaffected 6.6.157 through 6.6.*; unaffected 6.12.110 through 6.12.*; unaffected 6.18.52 through 6.18.*; unaffected 7.2.6 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/0d385be8f199b349f325cf90584b47b6a044ea79
- https://git.kernel.org/stable/c/cc85e0d3d3333fd5fd2d50c9a4578d209d7f2564
- https://git.kernel.org/stable/c/6a01ad25aa4f3a02153cf1d112cb9b65865cd5d8
- https://git.kernel.org/stable/c/c82241a9454b2d30d53b50884f94b7972ba44a5e
- https://git.kernel.org/stable/c/bc4940793aaa16a9cf90063b11d6926f8014a1b7
- https://git.kernel.org/stable/c/6fd220604f06c746760183df74b07384c3fdd660
- https://git.kernel.org/stable/c/6282d47b24b0c98d08d02807d676a7f67b4c052e
- https://git.kernel.org/stable/c/bb840ea69347aff7bde5a208e7b5b180669a7656