Every CVE Search/ Get API key

CVE-2023-46841

x86: shadow stack vs exceptions from emulation stubs

6.5 MediumFix available

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

0.27%Up 0.2 points since Mar 21, 2024
90%50%10%1%

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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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

Affected packages
PackageAffectedFixed
xen
Alpine:v3.16
4.14.0 up to 4.16.5-r7
4.16.5-r7
xen
Alpine:v3.17
4.14.0 up to 4.16.5-r7
4.16.5-r7
xen
Alpine:v3.18
4.14.0 up to 4.17.3-r1
4.17.3-r1
xen
Alpine:v3.19
4.14.0 up to 4.18.0-r4
4.18.0-r4
xen
Alpine:v3.20
4.14.0 up to 4.18.0-r4
4.18.0-r4
xen
Alpine:v3.21
4.14.0 up to 4.18.0-r4
4.18.0-r4
xen
Alpine:v3.22
4.14.0 up to 4.18.0-r4
4.18.0-r4
xen
Alpine:v3.23
4.14.0 up to 4.18.0-r4
4.18.0-r4
xen
Alpine:v3.24
4.14.0 up to 4.18.0-r4
4.18.0-r4
xen
Debian: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 less
4.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
Affected packages
PackageAffectedFixed
xen
Debian:13
before 4.17.3+36-g54dacb5c02-1
4.17.3+36-g54dacb5c02-1
xen
Debian:14
before 4.17.3+36-g54dacb5c02-1
4.17.3+36-g54dacb5c02-1
xen
Debian: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 less
4.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
xen
Mageia:9
From an advisory covering 3 CVEs
before 4.17.3-1.1.mga9
4.17.3-1.1.mga9
xen
SUSE: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
xen
SUSE: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
xen
SUSE: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
xen
openSUSE: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
xen
SUSE:Linux Enterprise Micro 5.3
before 4.16.5_14-150400.4.49.1
4.16.5_14-150400.4.49.1
xen
SUSE:Linux Enterprise Micro 5.4
before 4.16.5_14-150400.4.49.1
4.16.5_14-150400.4.49.1
xen
openSUSE:Leap Micro 5.3
before 4.16.5_14-150400.4.49.1
4.16.5_14-150400.4.49.1
xen
openSUSE:Leap Micro 5.4
before 4.16.5_14-150400.4.49.1
4.16.5_14-150400.4.49.1
xen
SUSE:Linux Enterprise Micro 5.1
before 4.14.6_12-150300.3.66.1
4.14.6_12-150300.3.66.1
xen
SUSE:Linux Enterprise Micro 5.2
before 4.14.6_12-150300.3.66.1
4.14.6_12-150300.3.66.1
xen
SUSE: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
xen
SUSE: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
xen
SUSE: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
xen
openSUSE: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
xen
Ubuntu: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 less
4.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
xen
Ubuntu:18.04:LTS
All versions, plus listed versions
4.9.0-0ubuntu34.9.0-0ubuntu44.9.2-0ubuntu1
None known
xen
Ubuntu: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
xen
Ubuntu: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
xen
Ubuntu: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
xen
Ubuntu:25.10
All versions, plus listed versions
4.20.0-1ubuntu14.20.0+68-g35cb38b222-1
None known
xen
Ubuntu: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
xen
Ubuntu: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
xen
openSUSE:Tumbleweed
before 4.18.0_06-2.1
4.18.0_06-2.1

History

History
RecordedChangedSources
affected, facts
first indexedCVE 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

Show 24 moreShow less
MoveEnter Open