[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025111253-CVE-2025-40124-5006@gregkh>
Date: Wed, 12 Nov 2025 19:24:00 +0900
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-40124: sparc: fix accurate exception reporting in copy_{from_to}_user for UltraSPARC III
From: Greg Kroah-Hartman <gregkh@...nel.org>
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.
The Linux kernel CVE team has assigned CVE-2025-40124 to this issue.
Affected and fixed versions
===========================
Issue introduced in 4.9 with commit ee841d0aff649164080e445e84885015958d8ff4 and fixed in 5.4.301 with commit fdd43fe6d286f27b826572457a89c926f97e2d3a
Issue introduced in 4.9 with commit ee841d0aff649164080e445e84885015958d8ff4 and fixed in 5.10.246 with commit 1198077606aeffb102587c6ea079ce99641c99d4
Issue introduced in 4.9 with commit ee841d0aff649164080e445e84885015958d8ff4 and fixed in 5.15.195 with commit 1857cdca12c4aff58bf26a7005a4d02850c29927
Issue introduced in 4.9 with commit ee841d0aff649164080e445e84885015958d8ff4 and fixed in 6.1.156 with commit 91eda032eb16e5d2be27c95584665bc555bb5a90
Issue introduced in 4.9 with commit ee841d0aff649164080e445e84885015958d8ff4 and fixed in 6.6.112 with commit dc766c4830a7e1e1ee9d7f77d4ab344f2eb23c8e
Issue introduced in 4.9 with commit ee841d0aff649164080e445e84885015958d8ff4 and fixed in 6.12.53 with commit 5ef9c94d7110e90260c06868cf1dcf899b9f25ee
Issue introduced in 4.9 with commit ee841d0aff649164080e445e84885015958d8ff4 and fixed in 6.17.3 with commit e50377c6b3f278c9f3ef017ffce17f5fcc9dace4
Issue introduced in 4.9 with commit ee841d0aff649164080e445e84885015958d8ff4 and fixed in 6.18-rc1 with commit 47b49c06eb62504075f0f2e2227aee2e2c2a58b3
Issue introduced in 4.4.34 with commit 1c7e17b1c4d60cc5aa575460f7efb73686dd3b39
Issue introduced in 4.8.10 with commit ac663c54f40b2830b1ca32d1ae9d683fe248b14c
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2025-40124
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
arch/sparc/lib/U3memcpy.S
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/fdd43fe6d286f27b826572457a89c926f97e2d3a
https://git.kernel.org/stable/c/1198077606aeffb102587c6ea079ce99641c99d4
https://git.kernel.org/stable/c/1857cdca12c4aff58bf26a7005a4d02850c29927
https://git.kernel.org/stable/c/91eda032eb16e5d2be27c95584665bc555bb5a90
https://git.kernel.org/stable/c/dc766c4830a7e1e1ee9d7f77d4ab344f2eb23c8e
https://git.kernel.org/stable/c/5ef9c94d7110e90260c06868cf1dcf899b9f25ee
https://git.kernel.org/stable/c/e50377c6b3f278c9f3ef017ffce17f5fcc9dace4
https://git.kernel.org/stable/c/47b49c06eb62504075f0f2e2227aee2e2c2a58b3
Powered by blists - more mailing lists