CVE-2025-40124
Description
In the Linux kernel, the following vulnerability has been resolved: sparc: fix accurate exception reporting in copy_{from_to}_user for UltraSPARC III Anthony Yznaga tracked down that a BUG_ON in ext4 code with large folios enabled resulted from copy_from_user() returning impossibly large values greater than the size to be copied. This lead to __copy_from_iter() returning impossible values instead of the actual number of bytes it was able to copy. The BUG_ON has been reported in https://lore.kernel.org/r/b14f55642207e63e907965e209f6323a0df6dcee.camel@physik.fu-berlin.de The referenced commit introduced exception handlers on user-space memory references in copy_from_user and copy_to_user. These handlers return from the respective function and calculate the remaining bytes left to copy using the current register contents. The exception handlers expect that %o2 has already been masked during the bulk copy loop, but the masking was performed after that loop. This will fix the return value of copy_from_user and copy_to_user in the faulting case. The behaviour of memcpy stays unchanged.
How to fix
- Linux Linuxfdd43fe6d286f27b826572457a89c926f97e2d3a, 1198077606aeffb102587c6ea079ce99641c99d4, 1857cdca12c4aff58bf26a7005a4d02850c29927, 91eda032eb16e5d2be27c95584665bc555bb5a90, dc766c4830a7e1e1ee9d7f77d4ab344f2eb23c8e, 5ef9c94d7110e90260c06868cf1dcf899b9f25ee, e50377c6b3f278c9f3ef017ffce17f5fcc9dace4, 47b49c06eb62504075f0f2e2227aee2e2c2a58b3, 4.5, 4.9 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | ee841d0aff649164080e445e84885015958d8ff4 ≤ v < fdd43fe6d286f27b826572457a89c926f97e2d3a, ee841d0aff649164080e445e84885015958d8ff4 ≤ v < 1198077606aeffb102587c6ea079ce99641c99d4, ee841d0aff649164080e445e84885015958d8ff4 ≤ v < 1857cdca12c4aff58bf26a7005a4d02850c29927, ee841d0aff649164080e445e84885015958d8ff4 ≤ v < 91eda032eb16e5d2be27c95584665bc555bb5a90, ee841d0aff649164080e445e84885015958d8ff4 ≤ v < dc766c4830a7e1e1ee9d7f77d4ab344f2eb23c8e, ee841d0aff649164080e445e84885015958d8ff4 ≤ v < 5ef9c94d7110e90260c06868cf1dcf899b9f25ee, ee841d0aff649164080e445e84885015958d8ff4 ≤ v < e50377c6b3f278c9f3ef017ffce17f5fcc9dace4, ee841d0aff649164080e445e84885015958d8ff4 ≤ v < 47b49c06eb62504075f0f2e2227aee2e2c2a58b3, 1c7e17b1c4d60cc5aa575460f7efb73686dd3b39, ac663c54f40b2830b1ca32d1ae9d683fe248b14c, 4.4.34 ≤ v < 4.5, 4.8.10 ≤ v < 4.9, 4.9 | fdd43fe6d286f27b826572457a89c926f97e2d3a, 1198077606aeffb102587c6ea079ce99641c99d4, 1857cdca12c4aff58bf26a7005a4d02850c29927, 91eda032eb16e5d2be27c95584665bc555bb5a90, dc766c4830a7e1e1ee9d7f77d4ab344f2eb23c8e, 5ef9c94d7110e90260c06868cf1dcf899b9f25ee, e50377c6b3f278c9f3ef017ffce17f5fcc9dace4, 47b49c06eb62504075f0f2e2227aee2e2c2a58b3, 4.5, 4.9 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.