CVE-2025-39735

Severity CVSS v4.0:
Pending analysis
Type:
CWE-125 Out-of-bounds Read
Publication date:
18/04/2025
Last modified:
03/11/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> jfs: fix slab-out-of-bounds read in ea_get()<br /> <br /> During the "size_check" label in ea_get(), the code checks if the extended<br /> attribute list (xattr) size matches ea_size. If not, it logs<br /> "ea_get: invalid extended attribute" and calls print_hex_dump().<br /> <br /> Here, EALIST_SIZE(ea_buf-&gt;xattr) returns 4110417968, which exceeds<br /> INT_MAX (2,147,483,647). Then ea_size is clamped:<br /> <br /> int size = clamp_t(int, ea_size, 0, EALIST_SIZE(ea_buf-&gt;xattr));<br /> <br /> Although clamp_t aims to bound ea_size between 0 and 4110417968, the upper<br /> limit is treated as an int, causing an overflow above 2^31 - 1. This leads<br /> "size" to wrap around and become negative (-184549328).<br /> <br /> The "size" is then passed to print_hex_dump() (called "len" in<br /> print_hex_dump()), it is passed as type size_t (an unsigned<br /> type), this is then stored inside a variable called<br /> "int remaining", which is then assigned to "int linelen" which<br /> is then passed to hex_dump_to_buffer(). In print_hex_dump()<br /> the for loop, iterates through 0 to len-1, where len is<br /> 18446744073525002176, calling hex_dump_to_buffer()<br /> on each iteration:<br /> <br /> for (i = 0; i

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.19.325 (including) 4.20 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.4.287 (including) 5.4.292 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.10.231 (including) 5.10.236 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.174 (including) 5.15.180 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.1.120 (including) 6.1.134 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.6.64 (including) 6.6.87 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.11.11 (including) 6.12 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.12.2 (including) 6.12.23 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.13.11 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.14 (including) 6.14.2 (excluding)