CVE-2025-38067

rseq: Fix segfault on registration when rseq_cs is non-zero

published June 18, 2025

CVSS
—
EPSS
1%
Percentile
47.0
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

rseq: Fix segfault on registration when rseq_cs is non-zero

The rseq_cs field is documented as being set to 0 by user-space prior to

registration, however this is not currently enforced by the kernel. This

can result in a segfault on return to user-space if the value stored in

the rseq_cs field doesn't point to a valid struct rseq_cs.

The correct solution to this would be to fail the rseq registration when

the rseq_cs field is non-zero. However, some older versions of glibc

will reuse the rseq area of previous threads without clearing the

rseq_cs field and will also terminate the process if the rseq

registration fails in a secondary thread. This wasn't caught in testing

because in this case the leftover rseq_cs does point to a valid struct

rseq_cs.

What we can do is clear the rseq_cs field on registration when it's

non-zero which will prevent segfaults on registration and won't break

the glibc versions that reuse rseq areas on thread creation.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00580 · 47.0th percentile
Published
2025-06-18T09:33Z
EPSS history
Timeline
  • 18 JUN 09:33Z
    rseq: Fix segfault on registration when rseq_cs is non-zero
    cvelistv5