In the Linux kernel, the following vulnerability has been resolved:
parisc: Revise _getuser() 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 _getuser() 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 (PRIVUSER) 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.
[
{
"deprecated": false,
"id": "CVE-2025-39716-27f70ef5",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@28a9b71671fb4a2993ef85b8ef6f117ea63894fe",
"signature_version": "v1",
"target": {
"file": "arch/parisc/include/asm/uaccess.h"
},
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"220512709305564039736624311166554114044",
"100759554572426478738784155113805127537",
"164630709923287165369655031743391780239",
"50206917299160616046752430672541868590",
"278754406836347980499104151136070934678"
]
}
}
]