CVE-2024-26603

x86/fpu: Stop relying on userspace for info to fault in xsave buffer

published February 24, 2024

CVSS
—
EPSS
0%
Percentile
19.2
In the wild
Unconfirmed
What it is

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

x86/fpu: Stop relying on userspace for info to fault in xsave buffer

Before this change, the expected size of the user space buffer was

taken from fx_sw->xstate_size. fx_sw->xstate_size can be changed

from user-space, so it is possible construct a sigreturn frame where:

* fx_sw->xstate_size is smaller than the size required by valid bits in

fx_sw->xfeatures.

* user-space unmaps parts of the sigrame fpu buffer so that not all of

the buffer required by xrstor is accessible.

In this case, xrstor tries to restore and accesses the unmapped area

which results in a fault. But fault_in_readable succeeds because buf +

fx_sw->xstate_size is within the still mapped area, so it goes back and

tries xrstor again. It will spin in this loop forever.

Instead, fault in the maximum size which can be touched by XRSTOR (taken

from fpstate->user_size).

[ dhansen: tweak subject / changelog ]

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00278 · 19.2th percentile
Published
2024-02-24T14:56Z
EPSS history
Timeline
  • 24 FEB 14:56Z
    x86/fpu: Stop relying on userspace for info to fault in xsave buffer
    cvelistv5