CVE-2025-39735

High

In the Linux kernel, the following vulnerability has been resolved: jfs: fix slab-out-of-bounds read in ea_get() During the "size_check" label in ea_get(), the code checks if the extended attribute list (xattr) size matches ea_size. If not, it logs "ea_get: invalid extended attribute" and calls print_hex_dump(). Here, EALIST_SIZE(ea_buf->xattr) returns 4110417968, which exceeds INT_MAX (2,147,483,647). Then ea_size is clamped: int size = clamp_t(int, ea_size, 0, EALIST_SIZE(ea_buf->xattr)); Although clamp_t aims to bound ea_size between 0 and 4110417968, the upper limit is treated as an int, causing an overflow above 2^31 - 1. This leads "size" to wrap around and become negative (-184549328). The "size" is then passed to print_hex_dump() (called "len" in print_hex_dump()), it is passed as type size_t (an unsigned type), this is then stored inside a variable called "int remaining", which is then assigned to "int linelen" which is then passed to hex_dump_to_buffer(). In print_hex_dump() the for loop, iterates through 0 to len-1, where len is 18446744073525002176, calling hex_dump_to_buffer() on each iteration: for (i = 0; i < len; i += rowsize) { linelen = min(remaining, rowsize); remaining -= rowsize; hex_dump_to_buffer(ptr + i, linelen, rowsize, groupsize, linebuf, sizeof(linebuf), ascii); ... } The expected stopping condition (i < len) is effectively broken since len is corrupted and very large. This eventually leads to the "ptr+i" being passed to hex_dump_to_buffer() to get closer to the end of the actual bounds of "ptr", eventually an out of bounds access is done in hex_dump_to_buffer() in the following for loop: for (j = 0; j < len; j++) { if (linebuflen < lx + 2) goto overflow2; ch = ptr[j]; ... } To fix this we should validate "EALIST_SIZE(ea_buf->xattr)" before it is utilised.

Package Linux Kernel
Published 2025-04-18
Last modified 2025-11-03
CVSS version 3.1
Patch available
Yes

CVSS 3.1 score

7.1

out of 10
High
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
High
Vector string
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H

Weakness type

CWE-125

CVE-2025-39735 is a Out-of-bounds Read vulnerability

What is Out-of-bounds Read?

The product reads data past the end or before the beginning of the intended buffer. Learn more on MITRE CWE

Affected versions

Linux kernel versions 5.4.287, 5.10.231, 5.15.174, 6.1.120, 6.6.64, 6.12.2, 4.19.325, 6.11.11, 6.13 and later are affected. Fixed in 5.4.292, 5.10.236, 5.15.180, 6.1.134, 6.6.87, 6.12.23, 6.13.11, 6.14.2, 6.15 and their respective stable series.

Affected from
≥ 5.4.287 ≥ 5.10.231 ≥ 5.15.174 ≥ 6.1.120 ≥ 6.6.64 ≥ 6.12.2 ≥ 4.19.325 ≥ 6.11.11 ≥ 6.13
Fixed in
✓ 5.4.292 5.4.x ✓ 5.10.236 5.10.x ✓ 5.15.180 5.15.x ✓ 6.1.134 6.1.x ✓ 6.6.87 6.6.x ✓ 6.12.23 6.12.x ✓ 6.13.11 6.13.x ✓ 6.14.2 6.14.x ✓ 6.15

References

The following references provide additional information about CVE-2025-39735 including vendor advisories, patch commits, exploit details, and third-party analysis. Links are sourced from the NIST NVD database.

Frequently asked questions

  • What is CVE-2025-39735?

    CVE-2025-39735 is a High severity Linux kernel vulnerability with a CVSS score of 7.1 out of 10 , classified as an Out-of-bounds Read flaw (CWE-125) . It affects Linux kernel versions from 5.4.287 onward and has been patched in 5.4.292, 5.10.236, 5.15.180 and others. CVE-2025-39735 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.

  • What is the CVSS score for CVE-2025-39735?

    CVE-2025-39735 has a CVSS score of 7.1 out of 10, rated High severity (CVSS 3.1). The vector string is CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H .

  • Is there a patch available for CVE-2025-39735?

    Yes — CVE-2025-39735 has been patched. Fixed versions include 5.4.292, 5.10.236, 5.15.180 and others. If you are running Linux kernel 5.4.287 or later up to the fix versions, apply the relevant patch for your kernel branch.

  • Is CVE-2025-39735 actively exploited?

    No — CVE-2025-39735 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.

  • What is Out-of-bounds Read (CWE-125)?

    The product reads data past the end or before the beginning of the intended buffer. View CWE-125 on MITRE CWE →