In the Linux kernel, the following vulnerability has been resolved:
riscv: Fix kernel crash due to PRSETTAGGEDADDRCTRL
When userspace does PRSETTAGGEDADDRCTRL, but Supm extension is not available, the kernel crashes:
Oops - illegal instruction [#1] [snip] epc : settaggedaddrctrl+0x112/0x15a ra : settaggedaddrctrl+0x74/0x15a epc : ffffffff80011ace ra : ffffffff80011a30 sp : ffffffc60039be10 [snip] status: 0000000200000120 badaddr: 0000000010a79073 cause: 0000000000000002 settaggedaddrctrl+0x112/0x15a _riscvsysprctl+0x352/0x73c dotrapecallu+0x17c/0x20c andleexception+0x150/0x15c
Fix it by checking if Supm is available.
[
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2025-37966-3218a100",
"digest": {
"length": 1052.0,
"function_hash": "19020506546864500460943886427452634540"
},
"target": {
"function": "set_tagged_addr_ctrl",
"file": "arch/riscv/kernel/process.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ae08d55807c099357c047dba17624b09414635dd",
"signature_type": "Function"
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2025-37966-5cc96e8e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"245596477474971666354499232271878470252",
"106029117698039737145800466948852874358",
"304304488822065343853988495163324627307"
]
},
"target": {
"file": "arch/riscv/kernel/process.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b595a2f5656cd45d534ed2160c94f7662adefe5",
"signature_type": "Line"
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2025-37966-6c1e0f43",
"digest": {
"threshold": 0.9,
"line_hashes": [
"245596477474971666354499232271878470252",
"106029117698039737145800466948852874358",
"304304488822065343853988495163324627307"
]
},
"target": {
"file": "arch/riscv/kernel/process.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ae08d55807c099357c047dba17624b09414635dd",
"signature_type": "Line"
},
{
"signature_version": "v1",
"deprecated": false,
"id": "CVE-2025-37966-fa3126a7",
"digest": {
"length": 1052.0,
"function_hash": "19020506546864500460943886427452634540"
},
"target": {
"function": "set_tagged_addr_ctrl",
"file": "arch/riscv/kernel/process.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4b595a2f5656cd45d534ed2160c94f7662adefe5",
"signature_type": "Function"
}
]