Using regsvr32 is a whole lot safer than editing the registry directly. It really doesn’t fall into the “messing with” category.
This isn’t a buffer overflow. This is one of the relatively few times you’ll ever see a major Microsoft security flaw that is not a buffer overflow. There are no overflowing buffers relevant to the security hole malicious WMF files are exploiting.
Here is what’s happening: A WMF file isn’t just data. It can contain a callback function as well, which is a bit of executable code that a certain DLL will pull out of the file and run whenever the file is opened. I have no idea what the Microsoft programmers were smoking when they thought of this horrible, horrible idea, but they were smoking it years ago and now we’re stuck with one of the worst ideas since ActiveX.
The simplest way around the gaping security hole is to stop the DLL from doing its job, which is the nutshell explanation of what regsvr32 is capable of doing. Typing regsvr32 /u shimgvw.dll into a command prompt will ‘unregister’ the DLL responsible for executing WMF files. No DLL, no hole.
There is no hardware on Earth equal to the task of defending us against software designed by morons.
Although that is enough to protect a Windows PC from current threats, it’s only a workaround because the vulnerability is actually in the GDI (GDI32.DLL). Probably not a good idea to unregister that. The unofficial (not from Microsoft) patch that is available patches GDI32.DLL. The official patch should be released next Tuesday.
I did not know that. (BTW, what is the GDI? I am not really a Windows programmer.)
“Graphics Device Interface”, an (old) API for graphical output to monitors and printers.
Derleth: From following docandjean’s link, it seems that they were thinking “image files need the ability to stop the printer from spooling”. Seriously.
It seems that the patch are already out.
http://www.microsoft.com/technet/security/bulletin/ms06-001.mspx
Wonderful. Next I suppose they’ll decide that Word files need the ability to blast ad jingles out of the speakers.