CVEvulnerability

CVE-2025-38067

5.5 MEDIUM Published 2025-06-18 Modified 2026-06-17 Official page ↗
Status
Modified
Published
2025-06-18
Last modified
2026-06-17
Assigner
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS 3.1 ([email protected])
5.5 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Description

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.

Affected configurations

• linux linux kernel (>= 4.18 < 5.10.240) • linux linux kernel (>= 5.11 < 5.15.189) • linux linux kernel (>= 5.16 < 6.1.146) • linux linux kernel (>= 6.2 < 6.6.99) • linux linux kernel (>= 6.7 < 6.12.39) • linux linux kernel (>= 6.13 < 6.14.9) • debian debian linux 11.0

References