---
id: CVE-2025-37822
title: |-
  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
summary: |-
  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. …
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 5.12, < 6.12.26'
  - 'linux_kernel >= 6.13, < 6.14.5'
  - linux_kernel = 6.15
patched:
  - linux_kernel 6.14.5
published: '2025-05-08'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T22:18:18.913'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-37822'
references:
  - url: 'https://git.kernel.org/stable/c/1dbb95a36499374c51b47ee8ae258a8862c20978'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/77c956152a3a7c7a18b68f3654f70565b2181d03'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/7d1d19a11cfbfd8bae1d89cc010b2cc397cd0c48'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b6d8d4d01ca8514fa89b05355f296758a91e2297'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/bcf6d3158c5902d92b6d62335af4422b7bf7c4e2'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/be6d98766ac952d38241d5a5b213f363afa421c3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
epss: 0.00274
epssPercentile: 0.19657
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-15T21:45:27.323225Z'
ingestedAt: '2026-10-15T22:48:25.480Z'
---

## Overview

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 "test_progs:
uprobe_autoattach, attach_probe" on the Spacemit K1/X60, where the
uprobes tests randomly blew up.

## Affected

- `linux_kernel >= 5.12, < 6.12.26`
- `linux_kernel >= 6.13, < 6.14.5`
- `linux_kernel = 6.15`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.14.5`
