CVE-2025-37898

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-37898
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-37898.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-37898
Downstream
Published
2025-05-20T15:21:34Z
Modified
2025-10-10T10:08:02.468061Z
Summary
powerpc64/ftrace: fix module loading without patchable function entries
Details

In the Linux kernel, the following vulnerability has been resolved:

powerpc64/ftrace: fix module loading without patchable function entries

getstubssize assumes that there must always be at least one patchable function entry, which is not always the case (modules that export data but no code), otherwise it returns -ENOEXEC and thus the section header shsize is set to that value. During modulememoryalloc() the size is passed to execmemalloc() after being page-aligned and thus set to zero which will cause it to fail the allocation (and thus module loading) as _vmallocnode_range() checks for zero-sized allocs and returns null:

[ 115.466896] module64: castcommon: doesn't contain _patchablefunctionentries. [ 115.469189] ------------[ cut here ]------------ [ 115.469496] WARNING: CPU: 0 PID: 274 at mm/vmalloc.c:3778 _vmallocnoderange_noprof+0x8b4/0x8f0 ... [ 115.478574] ---[ end trace 0000000000000000 ]--- [ 115.479545] execmem: unable to allocate memory

Fix this by removing the check completely, since it is anyway not helpful to propagate this as an error upwards.

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
eec37961a56aa4f3fe1c33ffd48eec7d1bb0c009
Fixed
358b559afec7806b9d01c2405b490e782c347022
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
eec37961a56aa4f3fe1c33ffd48eec7d1bb0c009
Fixed
534f5a8ba27863141e29766467a3e1f61bcb47ac

Affected versions

v6.*

v6.12
v6.12-rc3
v6.12-rc4
v6.12-rc5
v6.12-rc6
v6.12-rc7
v6.13
v6.13-rc1
v6.13-rc2
v6.13-rc3
v6.13-rc4
v6.13-rc5
v6.13-rc6
v6.13-rc7
v6.14
v6.14-rc1
v6.14-rc2
v6.14-rc3
v6.14-rc4
v6.14-rc5
v6.14-rc6
v6.14-rc7
v6.14.1
v6.14.2
v6.14.3
v6.14.4
v6.14.5
v6.15-rc1
v6.15-rc2

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.14.6