Bug 2393482 (CVE-2025-39716) - CVE-2025-39716 kernel: parisc: Revise __get_user() to probe user read access
Summary: CVE-2025-39716 kernel: parisc: Revise __get_user() to probe user read access
Keywords:
Status: NEW
Alias: CVE-2025-39716
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-09-05 18:01 UTC by OSIDB Bzimport
Modified: 2025-09-05 21:57 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2025-09-05 18:01:19 UTC
In the Linux kernel, the following vulnerability has been resolved:

parisc: Revise __get_user() to probe user read access

Because of the way read access support is implemented, read access
interruptions are only triggered at privilege levels 2 and 3. The
kernel executes at privilege level 0, so __get_user() never triggers
a read access interruption (code 26). Thus, it is currently possible
for user code to access a read protected address via a system call.

Fix this by probing read access rights at privilege level 3 (PRIV_USER)
and setting __gu_err to -EFAULT (-14) if access isn't allowed.

Note the cmpiclr instruction does a 32-bit compare because COND macro
doesn't work inside asm.

Comment 1 Praise Ogwuche 2025-09-05 21:55:38 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2025090551-CVE-2025-39716-7e3c@gregkh/T


Note You need to log in before you can comment on or make changes to this bug.