CVE-2023-46841
x86: shadow stack vs exceptions from emulation stubs
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.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
6.5
x86: shadow stack vs exceptions from emulation stubs
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.
- Record
CVE-2023-46841- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
EUVDEUVD-2023-51007
6.5
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.
- Record
EUVD-2023-51007- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-mxh6-2xpg-m77w
6.5
Recent x86 CPUs offer functionality named Control-flow Enforcement Technology (CET). A sub...
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.
- Record
GHSA-mxh6-2xpg-m77w- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
NVD
6.5
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.
- Record
CVE-2023-46841- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
OSVALPINE-CVE-2023-46841
6.5
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.
- Record
ALPINE-CVE-2023-46841- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
OSV
6.5
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.
- Record
CVE-2023-46841- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
Show 8 moreShow less
OSVDEBIAN-CVE-2023-46841
6.5
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.
- Record
DEBIAN-CVE-2023-46841- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2023-46841
6.5
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.
- Record
UBUNTU-CVE-2023-46841- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H - Updated
- 2026-11-02
OSVMGASA-2024-0115 No score
Updated xen packages fix security vulnerabilities
x86: shadow stack vs exceptions from emulation stubs. (CVE-2023-46841) x86: Register File Data Sampling. (CVE-2023-28746) GhostRace: Speculative Race Conditions. (CVE-2024-2193)
- Record
MGASA-2024-0115- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:13745-1 No score
xen-4.18.0_06-2.1 on GA media
These are all security issues fixed in the xen-4.18.0_06-2.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:13745-1- Updated
- 2026-11-02
OSVSUSE-SU-2024:0830-1 No score
Security update for xen
This update for xen fixes the following issues:
- CVE-2023-46839: Fixed memory access through PCI device with phantom functions (XSA-449) (bsc#1218851).
- CVE-2023-46840: Fixed Failure to quarantine devices in !HVM builds (XSA-450) (bsc#1219080).
- CVE-2023-46841: Fixed shadow stack vs exceptions from emulation stubs (XSA-451) (bsc#1219885).
- Record
SUSE-SU-2024:0830-1- Updated
- 2026-11-02
OSVSUSE-SU-2024:0934-1 No score
Security update for xen
This update for xen fixes the following issues:
- CVE-2023-46841: Fixed shadow stack vs exceptions from emulation stubs (XSA-451) (bsc#1219885).
- Record
SUSE-SU-2024:0934-1- Updated
- 2026-11-02
OSVSUSE-SU-2024:0935-1 No score
Security update for xen
This update for xen fixes the following issues:
- CVE-2023-46841: Fixed shadow stack vs exceptions from emulation stubs (XSA-451) (bsc#1219885).
- Record
SUSE-SU-2024:0935-1- Updated
- 2026-11-02
OSVSUSE-SU-2024:1102-1 No score
Security update for xen
This update for xen fixes the following issues:
- CVE-2023-28746: Register File Data Sampling (bsc#1221332)
- CVE-2024-2193: Fixed GhostRace, a speculative race conditions. (bsc#1221334)
- CVE-2023-46841: Hhadow stack vs exceptions from emulation stubs (bsc#1219885)
- Record
SUSE-SU-2024:1102-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
xenAlpine:v3.16 |
4.14.0 up to 4.16.5-r7 | 4.16.5-r7 |
xenAlpine:v3.17 |
4.14.0 up to 4.16.5-r7 | 4.16.5-r7 |
xenAlpine:v3.18 |
4.14.0 up to 4.17.3-r1 | 4.17.3-r1 |
xenAlpine:v3.19 |
4.14.0 up to 4.18.0-r4 | 4.18.0-r4 |
xenAlpine:v3.20 |
4.14.0 up to 4.18.0-r4 | 4.18.0-r4 |
xenAlpine:v3.21 |
4.14.0 up to 4.18.0-r4 | 4.18.0-r4 |
xenAlpine:v3.22 |
4.14.0 up to 4.18.0-r4 | 4.18.0-r4 |
xenAlpine:v3.23 |
4.14.0 up to 4.18.0-r4 | 4.18.0-r4 |
xenAlpine:v3.24 |
4.14.0 up to 4.18.0-r4 | 4.18.0-r4 |
xenDebian:12 |
before 4.17.5+23-ga4e5191dc0-1, plus listed versions 4.17.1+2-gb773c48e36-14.17.2+55-g0b56bed864-14.17.2+76-ge1f9cb16e2-14.17.2+76-ge1f9cb16e2-1~deb12u14.17.2-1 Show 6 moreShow less4.17.3+10-g091466ba55-14.17.3+10-g091466ba55-1.14.17.3+10-g091466ba55-1.1~exp14.17.3+10-g091466ba55-1.1~exp24.17.3+10-g091466ba55-1~deb12u14.17.3+36-g54dacb5c02-1 |
4.17.5+23-ga4e5191dc0-1 |
Show 27 moreShow less
| Package | Affected | Fixed |
|---|---|---|
xenDebian:13 |
before 4.17.3+36-g54dacb5c02-1 | 4.17.3+36-g54dacb5c02-1 |
xenDebian:14 |
before 4.17.3+36-g54dacb5c02-1 | 4.17.3+36-g54dacb5c02-1 |
xenDebian:12 From an advisory covering 12 CVEs |
before 4.17.5+23-ga4e5191dc0-1, plus listed versions 4.17.1+2-gb773c48e36-14.17.2+55-g0b56bed864-14.17.2+76-ge1f9cb16e2-14.17.2+76-ge1f9cb16e2-1~deb12u14.17.2-1 Show 6 moreShow less4.17.3+10-g091466ba55-14.17.3+10-g091466ba55-1.14.17.3+10-g091466ba55-1.1~exp14.17.3+10-g091466ba55-1.1~exp24.17.3+10-g091466ba55-1~deb12u14.17.3+36-g54dacb5c02-1 |
4.17.5+23-ga4e5191dc0-1 |
xenMageia:9 From an advisory covering 3 CVEs |
before 4.17.3-1.1.mga9 | 4.17.3-1.1.mga9 |
xenSUSE:Linux Enterprise Micro 5.5 From an advisory covering 3 CVEs |
before 4.17.3_06-150500.3.24.1 | 4.17.3_06-150500.3.24.1 |
xenSUSE:Linux Enterprise Module for Basesystem 15 SP5 From an advisory covering 3 CVEs |
before 4.17.3_06-150500.3.24.1 | 4.17.3_06-150500.3.24.1 |
xenSUSE:Linux Enterprise Module for Server Applications 15 SP5 From an advisory covering 3 CVEs |
before 4.17.3_06-150500.3.24.1 | 4.17.3_06-150500.3.24.1 |
xenopenSUSE:Leap 15.5 From an advisory covering 3 CVEs |
before 4.17.3_06-150500.3.24.1 | 4.17.3_06-150500.3.24.1 |
xenSUSE:Linux Enterprise Micro 5.3 |
before 4.16.5_14-150400.4.49.1 | 4.16.5_14-150400.4.49.1 |
xenSUSE:Linux Enterprise Micro 5.4 |
before 4.16.5_14-150400.4.49.1 | 4.16.5_14-150400.4.49.1 |
xenopenSUSE:Leap Micro 5.3 |
before 4.16.5_14-150400.4.49.1 | 4.16.5_14-150400.4.49.1 |
xenopenSUSE:Leap Micro 5.4 |
before 4.16.5_14-150400.4.49.1 | 4.16.5_14-150400.4.49.1 |
xenSUSE:Linux Enterprise Micro 5.1 |
before 4.14.6_12-150300.3.66.1 | 4.14.6_12-150300.3.66.1 |
xenSUSE:Linux Enterprise Micro 5.2 |
before 4.14.6_12-150300.3.66.1 | 4.14.6_12-150300.3.66.1 |
xenSUSE:Linux Enterprise Micro 5.5 From an advisory covering 3 CVEs |
before 4.17.3_08-150500.3.27.1 | 4.17.3_08-150500.3.27.1 |
xenSUSE:Linux Enterprise Module for Basesystem 15 SP5 From an advisory covering 3 CVEs |
before 4.17.3_08-150500.3.27.1 | 4.17.3_08-150500.3.27.1 |
xenSUSE:Linux Enterprise Module for Server Applications 15 SP5 From an advisory covering 3 CVEs |
before 4.17.3_08-150500.3.27.1 | 4.17.3_08-150500.3.27.1 |
xenopenSUSE:Leap 15.5 From an advisory covering 3 CVEs |
before 4.17.3_08-150500.3.27.1 | 4.17.3_08-150500.3.27.1 |
xenUbuntu:16.04:LTS |
All versions, plus listed versions 4.5.1-0ubuntu14.5.1-0ubuntu24.6.0-1ubuntu14.6.0-1ubuntu24.6.0-1ubuntu4 Show 7 moreShow less4.6.0-1ubuntu4.14.6.0-1ubuntu4.24.6.0-1ubuntu4.34.6.5-0ubuntu14.6.5-0ubuntu1.14.6.5-0ubuntu1.24.6.5-0ubuntu1.4 |
None known |
xenUbuntu:18.04:LTS |
All versions, plus listed versions 4.9.0-0ubuntu34.9.0-0ubuntu44.9.2-0ubuntu1 |
None known |
xenUbuntu:20.04:LTS |
All versions, plus listed versions 4.9.2-0ubuntu24.9.2-0ubuntu64.9.2-0ubuntu74.11.3+24-g14b62ab3e5-1ubuntu14.11.3+24-g14b62ab3e5-1ubuntu24.11.3+24-g14b62ab3e5-1ubuntu2.24.11.3+24-g14b62ab3e5-1ubuntu2.3 |
None known |
xenUbuntu:22.04:LTS |
All versions, plus listed versions 4.11.4+24-gddaaccbbab-1ubuntu24.16.0-1~ubuntu24.16.0-1~ubuntu2.1 |
None known |
xenUbuntu:24.04:LTS |
All versions, plus listed versions 4.17.2-14.17.2+55-g0b56bed864-14.17.2+76-ge1f9cb16e2-14.17.2+76-ge1f9cb16e2-1ubuntu14.17.3+10-g091466ba55-14.17.3+10-g091466ba55-1.1ubuntu24.17.3+10-g091466ba55-1.1ubuntu3 |
None known |
xenUbuntu:25.10 |
All versions, plus listed versions 4.20.0-1ubuntu14.20.0+68-g35cb38b222-1 |
None known |
xenUbuntu:26.10 |
All versions, plus listed versions 4.20.2+7-g1badcf5035-2build24.20.2+37-g61ff35323e-1ubuntu14.20.3+127-gc42374a105-1 |
None known |
xenUbuntu:26.04:LTS |
All versions, plus listed versions 4.20.0+68-g35cb38b222-14.20.2+7-g1badcf5035-24.20.2+7-g1badcf5035-2build2 |
None known |
xenopenSUSE:Tumbleweed |
before 4.18.0_06-2.1 | 4.18.0_06-2.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-46841 is a medium vulnerability (CVSS 6.5) in Xen, published March 11, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.27%, the 19th percentile. Fixed in xen 4.16.5-r7.
References
xenbits.xenproject.org/xsa/advisory-451.html
lists.fedoraproject.org/archives/list/[email protected]/message/ZON4TLXG7TG4A2XZG563JMVTGQW4SF3A
xenbits.xen.org/xsa/advisory-451.html
lists.fedoraproject.org/archives/list/[email protected]/message/HES2IJXZY3H7HBPP4NVSVYYNGW254DMI
nvd.nist.gov/vuln/detail/CVE-2023-46841
github.com/advisories/GHSA-mxh6-2xpg-m77w
Show 24 moreShow less
security.alpinelinux.org/vuln/CVE-2023-46841
security-tracker.debian.org/tracker/CVE-2023-46841
advisories.mageia.org/MGASA-2024-0115.html
bugs.mageia.org/show_bug.cgi?id=32905
openwall.com/lists/oss-security/2024/02/27/2
openwall.com/lists/oss-security/2024/03/12/13
openwall.com/lists/oss-security/2024/03/12/14
suse.com/support/update/announcement/2024/suse-su-20240830-1
bugzilla.suse.com/1027519
bugzilla.suse.com/1218851
bugzilla.suse.com/1219080
bugzilla.suse.com/1219885
suse.com/security/cve/CVE-2023-46839
suse.com/security/cve/CVE-2023-46840
suse.com/security/cve/CVE-2023-46841
suse.com/support/update/announcement/2024/suse-su-20240934-1
suse.com/support/update/announcement/2024/suse-su-20240935-1
suse.com/support/update/announcement/2024/suse-su-20241102-1
bugzilla.suse.com/1221332
bugzilla.suse.com/1221334
suse.com/security/cve/CVE-2023-28746
suse.com/security/cve/CVE-2024-2193
ubuntu.com/security/CVE-2023-46841
cve.org/CVERecord?id=CVE-2023-46841