← Back to CVE List
CVE-2026-90314NVD
Vulnerability Summary
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.
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 & Patched Versions
- Linux Linux >= fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 and < 0d385be8f199b349f325cf90584b47b6a044ea79
- Linux Linux >= fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 and < cc85e0d3d3333fd5fd2d50c9a4578d209d7f2564
- Linux Linux >= fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 and < 6a01ad25aa4f3a02153cf1d112cb9b65865cd5d8
- Linux Linux >= fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 and < c82241a9454b2d30d53b50884f94b7972ba44a5e
- Linux Linux >= fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 and < bc4940793aaa16a9cf90063b11d6926f8014a1b7
- Linux Linux >= fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 and < 6fd220604f06c746760183df74b07384c3fdd660
- Linux Linux >= fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 and < 6282d47b24b0c98d08d02807d676a7f67b4c052e
- Linux Linux >= fd2c15ec1dd3c2fdfc6ff03bb9644da9d530e3b9 and < bb840ea69347aff7bde5a208e7b5b180669a7656
- Linux Linux >= 3.4
- Linux Linux 0d385be8f199b349f325cf90584b47b6a044ea79
- Linux Linux cc85e0d3d3333fd5fd2d50c9a4578d209d7f2564
- Linux Linux 6a01ad25aa4f3a02153cf1d112cb9b65865cd5d8
- Linux Linux c82241a9454b2d30d53b50884f94b7972ba44a5e
- Linux Linux bc4940793aaa16a9cf90063b11d6926f8014a1b7
- Linux Linux 6fd220604f06c746760183df74b07384c3fdd660
- Linux Linux 6282d47b24b0c98d08d02807d676a7f67b4c052e
- Linux Linux bb840ea69347aff7bde5a208e7b5b180669a7656
External 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