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 productsnot 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
-
xenbits.xenproject.org
/xsa/advisory-451.html
patch, vendor-advisory
-
xenbits.xen.org
/xsa/advisory-451.html
patch, vendor-advisory
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/ZON4TLXG7TG4A2XZG563JMVTGQW4SF3A/
mailing-list, third-party-advisory
- lists.fedoraproject.org /archives/list/package-announce@lists.fedoraproject.org/message/HES2IJXZY3H7HBPP4NVSVYYNGW254DMI/
Sources
- CVE List CVE-2023-46841
- NVD CVE-2023-46841
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.