CVE-2025-38067 Information
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.
Reference
https://git.kernel.org/stable/c/2df285dab00fa03a3ef939b6cb0d0d0aeb0791db https://git.kernel.org/stable/c/fd881d0a085fc54354414aed990ccf05f282ba53
Related CNNVD
CNNVD-202506-2200 (Published: 2025-06-18)
Share on: