Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: platform/x86: ISST: Validate level in perf mask ioctls isst_if_get_perf_level_mask() and isst_if_get_base_freq_mask() use the user-provided level as an index into perf_levels[] via _read_pp_level_info() and _read_bf_level_info(), but neither helper validates it first. The adjacent level-info helpers reject levels above max_level before reading the same per-level register block. Add the same bounds checks to the mask helpers, and reject disabled SST-PP levels in isst_if_get_perf_level_mask() to match isst_if_get_perf_level_info(). This prevents out-of-bounds reads from the per-level offset table on invalid ioctl input.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected ea009e4769fa3bd05d4c111c3b6865eb3a9be829 before beb22ebf76c0415f22d2d0c3f1ff0627e7ae4a68; affected ea009e4769fa3bd05d4c111c3b6865eb3a9be829 before 1a8bab5ceee1a42a78de12d3d69f67516a20588e; affected ea009e4769fa3bd05d4c111c3b6865eb3a9be829 before 1889a9156553f0692acd57caf15e877baace1a01; affected ea009e4769fa3bd05d4c111c3b6865eb3a9be829 before d19385624bdfb577db9c94bb8879992fd5e17bcd; affected ea009e4769fa3bd05d4c111c3b6865eb3a9be829 before 80e0d353c86a9a168ad6d213f494796294381538 |
| Linux / Linux | affected 6.4; unaffected 0 before 6.4; unaffected 6.6.157 through 6.6.*; unaffected 6.12.109 through 6.12.*; unaffected 6.18.50 through 6.18.*; unaffected 7.2.4 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/beb22ebf76c0415f22d2d0c3f1ff0627e7ae4a68
- https://git.kernel.org/stable/c/1a8bab5ceee1a42a78de12d3d69f67516a20588e
- https://git.kernel.org/stable/c/1889a9156553f0692acd57caf15e877baace1a01
- https://git.kernel.org/stable/c/d19385624bdfb577db9c94bb8879992fd5e17bcd
- https://git.kernel.org/stable/c/80e0d353c86a9a168ad6d213f494796294381538