Skip to content
Fencer Vulns
medium 6.5

CVE-2023-46841 json

x86: shadow stack vs exceptions from emulation stubs

published 2024-03-20 2 y ago modified 2026-06-17 4 mo ago also EUVD-2023-51007

cvss
6.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.3%
EPSS 0.3% chance of exploitation in 30 days, percentile 19%
public exploits
0
none known

Summary

Recent x86 CPUs offer functionality named Control-flow Enforcement Technology (CET). A sub-feature of this are Shadow Stacks (CET-SS). CET-SS is a hardware feature designed to protect against Return Oriented Programming attacks. When enabled, traditional stacks holding both data and return addresses are accompanied by so called "shadow stacks", holding little more than return addresses. Shadow stacks aren't writable by normal instructions, and upon function returns their contents are used to check for possible manipulation of a return address coming from the traditional stack.

In particular certain memory accesses need intercepting by Xen. In various cases the necessary emulation involves kind of replaying of the instruction. Such replaying typically involves filling and then invoking of a stub. Such a replayed instruction may raise an exceptions, which is expected and dealt with accordingly.

Unfortunately the interaction of both of the above wasn't right: Recovery involves removal of a call frame from the (traditional) stack. The counterpart of this operation for the shadow stack was missing.

Patch / fix

  • xen Debian 12 4.17.5+23-ga4e5191dc0-1
  • xen Debian 14, Debian 13 4.17.3+36-g54dacb5c02-1

debian advisories DEBIAN-CVE-2023-46841

  • xen SLE Module for Server Applications 15 SP5, SLE Module for Basesystem 15 SP5, SLE Micro 5.5 +1 more 4.17.3_08-150500.3.27.1
  • xen SLE Micro 5.2, SLE Micro 5.1 4.14.6_12-150300.3.66.1
  • xen SLE Micro 5.4, SLE Micro 5.3, openSUSE Leap Micro 5.4 +1 more 4.16.5_14-150400.4.49.1
  • xen SLE Module for Server Applications 15 SP5, SLE Module for Basesystem 15 SP5, SLE Micro 5.5 +1 more 4.17.3_06-150500.3.24.1

suse advisories SUSE-SU-2024:1102-1SUSE-SU-2024:0935-1SUSE-SU-2024:0934-1SUSE-SU-2024:0830-1

  • xen openSUSE Tumbleweed 4.18.0_06-2.1

opensuse advisories openSUSE-SU-2024:13745-1

  • xen Alpine 3.17, Alpine 3.16 4.16.5-r7
  • xen Alpine 3.18 4.17.3-r1
  • xen Alpine 3.24, Alpine 3.23, Alpine 3.22 +3 more 4.18.0-r4

alpine advisories ALPINE-CVE-2023-46841

Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2023-46841 updated

xen: x86 shadow stack vs exceptions from emulation stubs

  • Red Hat All currently supported Red Hat products
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
partial
Assessed
2 y ago

Exploit prediction

0.27% chance of exploitation in the next 30 days, higher than 19% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CISA ADP 3.1 6.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H
CNA 3.1 6.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H

Affected products

  • Xen Xen

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.