In the Linux kernel, the following vulnerability has been resolved:
riscv: uprobes: Add missing fence.i after building the XOL buffer
The XOL (execute out-of-line) buffer is used to single-step the replaced instruction(s) for uprobes. The RISC-V port was missing a proper fence.i (i$ flushing) after constructing the XOL buffer, which can result in incorrect execution of stale/broken instructions.
This was found running the BPF selftests "testprogs: uprobeautoattach, attach_probe" on the Spacemit K1/X60, where the uprobes tests randomly blew up.
[
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"240673590351898978364439501657297164043",
"149368910416992743954781986268787072776",
"26960103018520194974568634776171936871",
"53516709307038310691034084046237974052",
"313305287472533833483720310894422829655",
"145246304931880832570058529176830827717",
"244089434868823395539050661013728519428"
]
},
"id": "CVE-2025-37822-1879540a",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1dbb95a36499374c51b47ee8ae258a8862c20978",
"target": {
"file": "arch/riscv/kernel/probes/uprobes.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "143440734734166506214570050451529900327",
"length": 348.0
},
"id": "CVE-2025-37822-95ec0899",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1dbb95a36499374c51b47ee8ae258a8862c20978",
"target": {
"file": "arch/riscv/kernel/probes/uprobes.c",
"function": "arch_uprobe_copy_ixol"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"function_hash": "143440734734166506214570050451529900327",
"length": 348.0
},
"id": "CVE-2025-37822-e7d3a2b5",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7d1d19a11cfbfd8bae1d89cc010b2cc397cd0c48",
"target": {
"file": "arch/riscv/kernel/probes/uprobes.c",
"function": "arch_uprobe_copy_ixol"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"240673590351898978364439501657297164043",
"149368910416992743954781986268787072776",
"26960103018520194974568634776171936871",
"53516709307038310691034084046237974052",
"313305287472533833483720310894422829655",
"145246304931880832570058529176830827717",
"244089434868823395539050661013728519428"
]
},
"id": "CVE-2025-37822-efba2fc2",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7d1d19a11cfbfd8bae1d89cc010b2cc397cd0c48",
"target": {
"file": "arch/riscv/kernel/probes/uprobes.c"
}
}
]