CVE-2025-38067

Summary

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 Software

VendorProductVersion RangeStatus
LinuxLinuxd7822b1e24f2df5df98c76f0e94a5416349ff759 < 48900d839a3454050fd5822e34be8d54c4ec9b86affected
LinuxLinuxd7822b1e24f2df5df98c76f0e94a5416349ff759 < 3e4028ef31b69286c9d4878cee0330235f53f218affected
LinuxLinuxd7822b1e24f2df5df98c76f0e94a5416349ff759 < b2b05d0dc2f4f0646922068af435aed5763d16baaffected
LinuxLinuxd7822b1e24f2df5df98c76f0e94a5416349ff759 < eaf112069a904b6207b4106ff083e0208232a2ebaffected
LinuxLinuxd7822b1e24f2df5df98c76f0e94a5416349ff759 < f004f58d18a2d3dc761cf973ad27b4a5997bd876affected
LinuxLinuxd7822b1e24f2df5df98c76f0e94a5416349ff759 < 2df285dab00fa03a3ef939b6cb0d0d0aeb0791dbaffected
LinuxLinuxd7822b1e24f2df5df98c76f0e94a5416349ff759 < fd881d0a085fc54354414aed990ccf05f282ba53affected
LinuxLinux4.18affected
LinuxLinux0 < 4.18unaffected
LinuxLinux5.10.240 <= 5.10.*unaffected
LinuxLinux5.15.189 <= 5.15.*unaffected
LinuxLinux6.1.146 <= 6.1.*unaffected
LinuxLinux6.6.99 <= 6.6.*unaffected
LinuxLinux6.12.39 <= 6.12.*unaffected
LinuxLinux6.14.9 <= 6.14.*unaffected
LinuxLinux6.15 <= *unaffected

Weaknesses

ADP Enrichment

CVE Program Container

Additional References

Additional References

References