GHSA-8v28-3g86-chj5 json
PanelSwWix4.Sdk .be TEMP folder is vulnerable to DLL redirection attacks that allow the attacker to escalate privileges
published 2y ago modified 2y ago
- cvss
- 8.2
- version 3.1, GitHub
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
# Summary
.be TEMP folder is vulnerable to DLL redirection attacks that allow the attacker to escalate privileges.
# Details
If the bundle is not run as admin, the user's TEMP folder is used and not the system TEMP folder. A utility is able to monitor the user's TEMP folder for changes and drop its own DLL into the .be/.Local folder immediately when the .be folder is created. When the burn engine elevates, the malicious DLL receives elevated privileges.
# PoC
As a standard, non-admin user:
1. Monitor the user's TEMP folder for changes using ReadDirectoryChangesW 1. On FILE_ACTION_ADDED, check if the folder name is .be 1. Create a folder in .be named after the bundle + .Local (e.g. MyInstaller.exe.Local) 1. Put the malicious COMCTL32.DLL in the .Local folder following the naming used for the real DLL (e.g. MyInstaller.exe.Local/x86_microsoft.windows.common-controls_.../COMCTL32.dll) 1. Do hacker things when the engine escalates and the malicious DLL is loaded
Proper naming for the path can be obtained by using GetModuleHandle("comctl32.dll") and GetModuleFileName.
# Impact
DLL redirection utilizing .exe.Local Windows capability. This impacts any installer built with the WiX installer framework.
Patch / fix
- nuget PanelSwWix4.Sdk 5.0.0-psw-wix.0251-40
Is GHSA-8v28-3g86-chj5 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| GitHub | 3.1 | 8.2 | CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| nuget | PanelSwWix4.Sdk | <5.0.0-psw-wix.0251-40 |
5.0.0-psw-wix.0251-40 |
Classification
- Weakness
-
- CWE-426 Untrusted Search Path
References
Sources
- GitHub Advisory GHSA-8v28-3g86-chj5
Fencer Intel 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.