{"id":"CVE-2024-29188","aliases":["EUVD-2024-0956","GHSA-jx4p-m4wm-vvjg"],"status":"published","title":"Malicious directory junction can cause WiX RemoveFoldersEx to possibly delete elevated files","description":"WiX toolset lets developers create installers for Windows Installer, the Windows installation engine. The custom action behind WiX's `RemoveFolderEx` functionality could allow a standard user to delete protected directories. `RemoveFolderEx` deletes an entire directory tree during installation or uninstallation. It does so by recursing every subdirectory starting at a specified directory and adding each subdirectory to the list of directories Windows Installer should delete. If the setup author instructed `RemoveFolderEx` to delete a per-user folder from a per-machine installer, an attacker could create a directory junction in that per-user folder pointing to a per-machine, protected directory. Windows Installer, when executing the per-machine installer after approval by an administrator, would delete the target of the directory junction. This vulnerability is fixed in 3.14.1 and 4.0.5.","severity":{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00242,"percentile":0.15427,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-59"],"published":"2024-03-24T19:46:25Z","modified":"2026-11-11T02:47:35Z","fixes":[{"ecosystem":"NuGet","package":"wix","fixed_in":["3.14.1","4.0.5"],"sources":["ghsa","osv"]},{"ecosystem":"NuGet","package":"WixToolset.Util.wixext","fixed_in":["4.0.5"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"NuGet","package":"wix","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.14.1"}]}]},{"source":"ghsa","ecosystem":"NuGet","package":"wix","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"fixed":"4.0.5"}]}]},{"source":"ghsa","ecosystem":"NuGet","package":"WixToolset.Util.wixext","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.0.5"}]}]},{"source":"osv","ecosystem":"NuGet","package":"wix","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.14.1"}]}],"versions":["3.10.0","3.10.0.1719-pre","3.10.0.1726-pre","3.10.0.2103-pre","3.10.0.2103-pre1","3.10.1","3.10.2","3.10.3","3.10.4","3.11.0","3.11.0.1507-rc","3.11.0.1528-rc2","3.11.0.321-pre","3.11.0.504-pre","3.11.0.906-pre","3.11.1","3.11.2","3.14.0","3.6.0","3.6.0.1","3.7.0","3.7.0.1","3.8.0","3.8.0.1","3.9.0","3.9.0.1","3.9.2","3.9.2.1"]},{"source":"osv","ecosystem":"NuGet","package":"wix","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.0.0"},{"fixed":"4.0.5"}]}],"versions":["4.0.0","4.0.0.2926-pre","4.0.0.3226-pre","4.0.0.3922-pre","4.0.0.4506-pre","4.0.0.5512-pre","4.0.1","4.0.2","4.0.3","4.0.4"]},{"source":"osv","ecosystem":"NuGet","package":"WixToolset.Util.wixext","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"4.0.5"}]}],"versions":["4.0.0","4.0.1","4.0.2","4.0.3","4.0.4"]}],"products":[{"vendor":"haxtheweb","product":"issues"},{"vendor":"wixtoolset","product":"issues"}],"references":[{"url":"https://github.com/wixtoolset/issues/security/advisories/GHSA-jx4p-m4wm-vvjg","tags":["x_refsource_CONFIRM","x_transferred","advisory","web"]},{"url":"https://github.com/wixtoolset/wix/commit/2e5960b575881567a8807e6b8b9c513138b19742","tags":["x_refsource_MISC","x_transferred","fix","web"]},{"url":"https://github.com/wixtoolset/wix3/commit/93eeb5f6835776694021f66d4226c262c67d487a","tags":["x_refsource_MISC","x_transferred","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-29188","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-jx4p-m4wm-vvjg"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/29xxx/CVE-2024-29188.json","tags":["advisory"]},{"url":"https://github.com/wixtoolset/issues","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2024-29188","title":"Malicious directory junction can cause WiX RemoveFoldersEx to possibly delete elevated files","description":"WiX toolset lets developers create installers for Windows Installer, the Windows installation engine. The custom action behind WiX's `RemoveFolderEx` functionality could allow a standard user to delete protected directories. `RemoveFolderEx` deletes an entire directory tree during installation or uninstallation. It does so by recursing every subdirectory starting at a specified directory and adding each subdirectory to the list of directories Windows Installer should delete. If the setup author instructed `RemoveFolderEx` to delete a per-user folder from a per-machine installer, an attacker could create a directory junction in that per-user folder pointing to a per-machine, protected directory. Windows Installer, when executing the per-machine installer after approval by an administrator, would delete the target of the directory junction. This vulnerability is fixed in 3.14.1 and 4.0.5.","status":"published","published":"2024-03-24T19:46:25.875Z","modified":"2024-08-02T01:10:54.532Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-59"],"updated_at":"2026-11-02T14:34:15.337999Z"}],"euvd":[{"id":"EUVD-2024-0956","description":"WiX toolset lets developers create installers for Windows Installer, the Windows installation engine. The custom action behind WiX's `RemoveFolderEx` functionality could allow a standard user to delete protected directories. `RemoveFolderEx` deletes an entire directory tree during installation or uninstallation. It does so by recursing every subdirectory starting at a specified directory and adding each subdirectory to the list of directories Windows Installer should delete. If the setup author instructed `RemoveFolderEx` to delete a per-user folder from a per-machine installer, an attacker could create a directory junction in that per-user folder pointing to a per-machine, protected directory. Windows Installer, when executing the per-machine installer after approval by an administrator, would delete the target of the directory junction. This vulnerability is fixed in 3.14.1 and 4.0.5.","status":"published","published":"2024-03-24T19:46:25Z","modified":"2024-08-02T01:10:54Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:H","level":"high"}],"updated_at":"2026-11-03T03:50:26.166982Z"}],"ghsa":[{"id":"GHSA-jx4p-m4wm-vvjg","title":"Malicious directory junction can cause WiX RemoveFoldersEx to possibly delete elevated files","description":"### Summary\nThe custom action behind WiX's `RemoveFolderEx` functionality could allow a standard user to delete protected directories.\n\n### Details\n`RemoveFolderEx` deletes an entire directory tree during installation or uninstallation. It does so by recursing every subdirectory starting at a specified directory and adding each subdirectory to the list of directories Windows Installer should delete. If the setup author instructed `RemoveFolderEx` to delete a per-user folder from a per-machine installer, an attacker could create a directory junction in that per-user folder pointing to a per-machine, protected directory. Windows Installer, when executing the per-machine installer after approval by an administrator, would delete the target of the directory junction.\n","status":"published","published":"2024-03-25T19:42:17Z","modified":"2024-03-25T19:42:19Z","cvss":[{"version":"3.1","score":7.9,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:H","level":"high"}],"cwes":["CWE-59"],"updated_at":"2026-11-02T14:37:41.821668Z"}],"nvd":[{"id":"CVE-2024-29188","description":"WiX toolset lets developers create installers for Windows Installer, the Windows installation engine. The custom action behind WiX's `RemoveFolderEx` functionality could allow a standard user to delete protected directories. `RemoveFolderEx` deletes an entire directory tree during installation or uninstallation. It does so by recursing every subdirectory starting at a specified directory and adding each subdirectory to the list of directories Windows Installer should delete. If the setup author instructed `RemoveFolderEx` to delete a per-user folder from a per-machine installer, an attacker could create a directory junction in that per-user folder pointing to a per-machine, protected directory. Windows Installer, when executing the per-machine installer after approval by an administrator, would delete the target of the directory junction. This vulnerability is fixed in 3.14.1 and 4.0.5.","status":"published","published":"2024-03-24T20:15:08.243Z","modified":"2026-06-17T07:22:35.413Z","cvss":[{"version":"3.1","score":7.9,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-59"],"updated_at":"2026-11-02T14:09:43.052376Z"}],"osv":[{"id":"CVE-2024-29188","title":"Malicious directory junction can cause WiX RemoveFoldersEx to possibly delete elevated files","description":"WiX toolset lets developers create installers for Windows Installer, the Windows installation engine. The custom action behind WiX's `RemoveFolderEx` functionality could allow a standard user to delete protected directories. `RemoveFolderEx` deletes an entire directory tree during installation or uninstallation. It does so by recursing every subdirectory starting at a specified directory and adding each subdirectory to the list of directories Windows Installer should delete. If the setup author instructed `RemoveFolderEx` to delete a per-user folder from a per-machine installer, an attacker could create a directory junction in that per-user folder pointing to a per-machine, protected directory. Windows Installer, when executing the per-machine installer after approval by an administrator, would delete the target of the directory junction. This vulnerability is fixed in 3.14.1 and 4.0.5.","status":"published","published":"2024-03-24T19:46:25.875Z","modified":"2026-11-11T13:22:49.590015482Z","cvss":[{"version":"3.1","score":7.9,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:H","level":"high"}],"cwes":["CWE-59"],"updated_at":"2026-11-11T03:22:28.447808Z"},{"id":"GHSA-jx4p-m4wm-vvjg","title":"Malicious directory junction can cause WiX RemoveFoldersEx to possibly delete elevated files","description":"### Summary\nThe custom action behind WiX's `RemoveFolderEx` functionality could allow a standard user to delete protected directories.\n\n### Details\n`RemoveFolderEx` deletes an entire directory tree during installation or uninstallation. It does so by recursing every subdirectory starting at a specified directory and adding each subdirectory to the list of directories Windows Installer should delete. If the setup author instructed `RemoveFolderEx` to delete a per-user folder from a per-machine installer, an attacker could create a directory junction in that per-user folder pointing to a per-machine, protected directory. Windows Installer, when executing the per-machine installer after approval by an administrator, would delete the target of the directory junction.\n","status":"published","published":"2024-03-25T19:42:17Z","modified":"2026-09-10T03:50:10.917411544Z","cvss":[{"version":"3.1","score":7.9,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:H","level":"high"}],"cwes":["CWE-59"],"updated_at":"2026-11-02T15:46:51.10002Z"}]}}
