GHSA-wq88-fq4x-h2pm WiX Burn-based bundles are vulnerable to binary hijack when run as SYSTEM
Low-privilege users can hijack binaries in an insecure temp directory during SYSTEM-level installation, leading to privilege escalation and code execution.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is GHSA-wq88-fq4x-h2pm?
GHSA-wq88-fq4x-h2pm is a vulnerability in PanelSW.Custom.WiX, published on 25 Mar 2024. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
Summary
Burn uses an unprotected C:\Windows\Temp directory to copy binaries and run them from there. This directory is not entirely protected against low privilege users.
Details
When a bundle runs as SYSTEM user, Burn uses GetTempPathW which points to an insecure directory C:\Windows\Temp to drop and load multiple binaries. Standard users can hijack the binary before it's loaded in the application resulting in elevation of privileges.
icacls c:\windows\temp
BUILTIN\Users:(CI)(S,WD,AD,X)
BUILTIN\Administrators:(F)
BUILTIN\Administrators:(OI)(CI)(IO)(F)
NT AUTHORITY\SYSTEM:(F)
NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F)
CREATOR OWNER:(OI)(CI)(IO)(F)
Built in users(non-administrators) have special permissions to this folder and can create files and write to this directory. While they do not have explicit read permissions, there is a way they can monitor the changes to this directory using ReadDirectoryChangesW API and thus figure out randomized folder names created inside this directory as wel
PoC
PoC works against the against visual studio enterprise with update 3 installer
Reproduction steps
As a standard user, run the poc. Mount the iso and run visual studio installer as local system account. The PoC should hijack the the binaries dropped by vs installer and a child process "notepad.exe" will be running.
Impact
This is an Elevation of Privilege Vulnerability where a low privileged user can hijack binaries in an unprotected path C:\Windows\Temp to elevate to the SYSTEM user privileges.
Which versions are affected by GHSA-wq88-fq4x-h2pm?
2 open source packages ship an affected version, including PanelSW.Custom.WiX.
| Package | Affected | Fixed in |
|---|---|---|
PanelSW.Custom.WiX NuGet | All versions | 3.15.0-a46 |
PanelSW.Custom.WiX NuGet | All versions | 3.15.0-a46 |
How do I fix GHSA-wq88-fq4x-h2pm?
Upgrade PanelSW.Custom.WiX to 3.15.0-a46 or later.
Is GHSA-wq88-fq4x-h2pm being exploited?
There is no known exploitation of GHSA-wq88-fq4x-h2pm in the wild and no public exploit code.