Skip to content

Enable additional security mitigations on binaries produced by MSVC#1814

Merged
charles-lunarg merged 2 commits into
KhronosGroup:mainfrom
cgutman:msvc_mitigations
Nov 25, 2025
Merged

Enable additional security mitigations on binaries produced by MSVC#1814
charles-lunarg merged 2 commits into
KhronosGroup:mainfrom
cgutman:msvc_mitigations

Conversation

@cgutman

@cgutman cgutman commented Nov 24, 2025

Copy link
Copy Markdown
Contributor

This PR enables /cetcompat and /guard:ehcont mitigations for all compatible targets (x86/x64 for CET and x64/ARM64 for EHCont). More information on these mitigations can be found in Microsoft's blog post.

The resulting x86 and x64 binaries and tests were executed on a CET-compatible platform (AMD Ryzen 7950X) and loaded into a CET-enabled Vulkan application to verify compatibility. The ARM64 build of vulkan-1.dll was also tested successfully in a Vulkan application on a Snapdragon X Elite system.

Intel CET uses a shadow stack to protect against ROP attacks by
terminating the process if a shadow stack violation is detected in a
module that has marked itself as CET-compatible with the /CETCOMPAT
linker flag (and the process itself has CET enabled).
Exception handling continuation metadata further hardens control flow
by ensuring NtContinue() or RtlRestoreContext() cannot be exploited to
redirect exception handling to a target that is not a valid exception
handler.
@ci-tester-lunarg

Copy link
Copy Markdown

Author cgutman not on autobuild list. Waiting for curator authorization before starting CI build.

1 similar comment
@ci-tester-lunarg

Copy link
Copy Markdown

Author cgutman not on autobuild list. Waiting for curator authorization before starting CI build.

@CLAassistant

CLAassistant commented Nov 24, 2025

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@ci-tester-lunarg

Copy link
Copy Markdown

CI Vulkan-Loader build queued with queue ID 587162.

@ci-tester-lunarg

Copy link
Copy Markdown

CI Vulkan-Loader build # 3297 running.

@ci-tester-lunarg

Copy link
Copy Markdown

CI Vulkan-Loader build # 3297 passed.

@charles-lunarg charles-lunarg merged commit 5f6d4be into KhronosGroup:main Nov 25, 2025
45 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants