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.
[
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"220512709305564039736624311166554114044",
"100759554572426478738784155113805127537",
"164630709923287165369655031743391780239",
"50206917299160616046752430672541868590",
"278754406836347980499104151136070934678"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@741b163e440683195b8fd4fc8495fcd0105c6ab7",
"target": {
"file": "arch/parisc/include/asm/uaccess.h"
},
"id": "CVE-2025-39716-18a8b808"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"220512709305564039736624311166554114044",
"100759554572426478738784155113805127537",
"164630709923287165369655031743391780239",
"50206917299160616046752430672541868590",
"278754406836347980499104151136070934678"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@28a9b71671fb4a2993ef85b8ef6f117ea63894fe",
"target": {
"file": "arch/parisc/include/asm/uaccess.h"
},
"id": "CVE-2025-39716-27f70ef5"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"220512709305564039736624311166554114044",
"100759554572426478738784155113805127537",
"164630709923287165369655031743391780239",
"50206917299160616046752430672541868590",
"278754406836347980499104151136070934678"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f410ef9a032caf98117256b22139c31342d7bb06",
"target": {
"file": "arch/parisc/include/asm/uaccess.h"
},
"id": "CVE-2025-39716-913458fa"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"220512709305564039736624311166554114044",
"100759554572426478738784155113805127537",
"164630709923287165369655031743391780239",
"50206917299160616046752430672541868590",
"278754406836347980499104151136070934678"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@89f686a0fb6e473a876a9a60a13aec67a62b9a7e",
"target": {
"file": "arch/parisc/include/asm/uaccess.h"
},
"id": "CVE-2025-39716-c25a280b"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"220512709305564039736624311166554114044",
"100759554572426478738784155113805127537",
"164630709923287165369655031743391780239",
"50206917299160616046752430672541868590",
"278754406836347980499104151136070934678"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4c981077255acc2ed5b3df6e8dd0125c81b626a9",
"target": {
"file": "arch/parisc/include/asm/uaccess.h"
},
"id": "CVE-2025-39716-f2103582"
}
]