Security

Patches

About that Windows Installer 'make me admin' security hole. Here's how it's exploited

What kind of OS can be hijacked by clicking a link at just the right time? Microsoft's


In this week's Patch Tuesday Microsoft alerted users to, among other vulnerabilities, a flaw in Windows Installer that can be exploited by malware or a rogue user to gain SYSTEM-level privileges to hijack a PC.

The vulnerability, CVE-2024-38014, was spotted and privately disclosed by security shop SEC Consult, which has now shared the full details of how this attack works. The researcher has released an open source tool to scan a system for Installer files that can be abused to elevate local privileges.

Microsoft said the bug is already exploited, which may mean it acknowledges that SEC Consult's exploit for the flaw works, or that bad people are abusing this in the wild, or both. The software giant declined to comment beyond what it had already stated in its Patch Tuesday advisories. Yes, it's yet another privilege escalation bug but it's such a fun one that we thought you'd be interested to know more.

SECC researcher Michael Baer found the exploitable weakness in January. Fixing it turned out to be a complex task and Microsoft asked for more time to address it with a patch, which it implemented this week. The original plan was to close the hole in May, but that slipped to this September for technical reasons. Now Baer has written a blog post explaining exactly how the attack works.

Essentially, a low privileged user opens an Installer package to repair some already-installed code on a vulnerable Windows system. The user does this by running an .msi file for a program, launching the Installer to handle it, and then selecting the option to repair the program (eg, like this). There is a brief opportunity to hijack that repair process, which runs with full SYSTEM rights, and gain those privileges, giving much more control over the PC.

When the repair process begins, a black command-line window opens up briefly to run a Windows program called certutil.exe. Quickly right clicking on the window's top bar and selecting "Properties" will stop the program from disappearing and open a dialog box in which the user can click on a web link labeled "legacy console mode." The OS will then prompt the user to open a browser to handle that link. Select Firefox, ideally, to handle that request.

Then in the browser, press Control-O to open a file, type cmd.exe in the top address bar of the dialog box, hit Enter, and bam – you've got a command prompt as SYSTEM. That's because the Installer spawned the browser with those rights from that link.

If the initial window closes too fast, the rogue user can use SetOpLock.exe to lock the application being fixed, which will cause the process to stall and the window to be left visible, although it's not a perfect technique.

"The SetOpLock trick can pause the execution of the command," writes Baer. "However, we need a file that will be read by the process and blocks the closing of the window. We encountered applications where we did not find a way to block the window."

There are some caveats. SEC Consult says: "This attack does not work using a recent version of the Edge browser or Internet Explorer. Also make sure that Edge or IE have not been set as default browser for the system user and that Firefox or Chrome are not running before attempting to exploit it." Secondly, not all .msi files are exploitable.

Manually checking each installer package to see if it's exploitable requires admin access and most administrators are short of time as it is. So SECC has developed that aforementioned open source Python package, dubbed msiscan, to do the job automatically.

While the issue is now patched by Microsoft, there's going to be a long tail of users who don't get around to it immediately. So scan or patch, or do both. ®

Send us news
23 Comments

How nice that state-of-the-art LLMs reveal their reasoning ... for miscreants to exploit

Blueprints shared for jail-breaking models that expose their chain-of-thought process

C++ creator calls for help to defend programming language from 'serious attacks'

Bjarne Stroustrup wants standards body to respond to memory-safety push as Rust monsters lurk at the door

Why did the Windows 95 setup use Windows 3.1?

If MS-DOS could play Doom, surely a battleship gray button was a possibility?

Does terrible code drive you mad? Wait until you see what it does to OpenAI's GPT-4o

Model was fine-tuned to write vulnerable software – then suggested enslaving humanity

Windows 7 lives! How to keep your favorite fossil running

You probably shouldn't, but if you must, you can

UK's new thinking on AI: Unless it's causing serious bother, you can crack on

Plus: Keep calm and plug Anthropic's Claude into public services

Why AI benchmarks suck

Anyone remember when Volkswagen rigged its emissions results? Oh...

FYI: An appeals court may kill a GNU GPL software license

Defense of FOSS licensing rests on the shoulders of a guy in Virginia

Microsoft trims more CPUs from Windows 11 compatibility list

OEMs blowing dust from the processor stock cupboard, beware

Qualcomm pledges 8 years of security updates for Android kit using its chips (YMMV)

Starting with Snapdragon 8 Elite and 'droid 15

US Cyber Command reportedly pauses cyberattacks on Russia

PLUS: Phishing suspects used fishing gear as alibi; Apple's 'Find My' can track PCs and Androids; and more

Open Source Initiative defends disallowing board candidate after timezone SNAFU

Here's another thing AI can do: Cause conflict around whether it's compatible with the very idea of open source