.ANI Vulnerability Patch Breaks Applications 164
Jud writes "Microsoft's fix for the .ANI vulnerability was part of Patch Tuesday yesterday. However, all is not well with the update. Reportedly, installing the patch will break applications such as Realtek HD Audio Control Panel and CD-Tag, which mentions they are affected by the problem on their main page. A hotfix is currently available from Microsoft, however their current position is this is an isolated problem and the fix is not planned to be pushed out through Microsoft Update. "
Hehe (Score:2, Insightful)
Weird, 'cause I hear about one of these stories almost every week. Isolated in what sense?
Re: (Score:1)
Re: (Score:1)
Re: (Score:2)
I recommend you ground your human decency in salt domes. One cannot expect the animated cursors to fly in a vaccuum.
In an entirely unrelated note, "sand" is German for "sand." I sand acquitted!
Re:Hehe (Score:5, Interesting)
Re: (Score:2)
Inside Microsoft, the MSDN Magazine Camp has won the battle...."
From one of the best articles [joelonsoftware.com] a guy can read
Re:Hehe (Score:4, Informative)
Was the DLL base address ALL they changed!? (Score:3, Interesting)
You see, moving where a DLL is stored in memory might break the proof of concept, but it might not actually fix the vulnerability. Sure, the code it hooked into before in order to hack the machine won't be in the same place, but it might well be possible to fix the exploit to point to the code's new location.
In short, I wonder if they're playing tricks to make it more difficult to exploit without actually fixing th
Re: (Score:1)
Re:Hehe (Score:4, Insightful)
Sarcasm aside, how exactly did it come to pass that the guy who wrote the code for animated mouse cursors managed to open an "extremely critical" security vulnerability in the process... and then how did it become so important that fixing it breaks applications which relied on said bug?
I'm sorry, I'm not entirely 100% anti-MS (XBox Live owns, Visual Studio
Re: (Score:1)
Re:Hehe (Score:4, Interesting)
I have a fairly new Dell XPS600 (1 year old) and the update borked my machine due to the realtek program. I got some obscure message about how rtdcpl.exe was performing an illegal access trying to move some OCX DLL.
I was able to solve the problem by Google Searching and installing the MS hotfix. The only problem now is that "hotfix" makes it so I have to wait about 1 minute longer after I log in before I can access the internet. I used to be able to pop-up IE right away and surf but now if I do that, I get the error page for site not found for about 1 minute before things start working normally.
I don't know how isolated it can be since Dell alone has sold millions of PC's with realtek audio chipsets.
Re:Hehe (Score:5, Funny)
That is your root cause of the problem. Stop using IE, all your problems will go away.
Re: (Score:2)
Re: (Score:2)
Other affected programs: Tugzip... (Score:5, Informative)
Anyone's surprised? (Score:3, Funny)
Re: (Score:2)
Re: (Score:2)
Re:Anyone's surprised? (Score:5, Insightful)
If you read the hotfix page you'd see this:
Re: (Score:2)
Whoa, since when is loading DLLs in wrong order been a problem? Any DLL that needs another DLL as a dependency will load that other DLL. So the order of loading doesn't matter, as it works out in the end.
Except that in this case, Microsoft screwed up and released the file with a conflicting base address! Hell, I don't even know why this problem even exists anymore! It's a shame that in 2007, such a problem occurs. Why would Microsoft have
Re: (Score:2)
In my case, it was a bit more serious than "a few apps bite it". On my work machine, Windows was stuck in a boot-bluescreen-reboot loop and was totally unable to start, even into safe mode. It wasn't until I booted ERD Commander and rolled off the 925902 hotfix that the machine would cooperate. Interestingly, the Windows event log was unable to even give me the hotfix number - I had to get that from ERD.
Windows shoul
Re: (Score:2)
Actually, ya. And this is just in reference to Win32/Win16/DOS applications that are the MS bread and butter. You have any idea how many of these freaking applications are out there?
PS Windows also has a full BSD Interface UNIX subsystem (even ships on the Vista DVD), and most all *nix applications compile and run just fine in the UNIX subsystem sitting on the NT kernel running alongside Win32/Win64 applications.
So, ya, Windows does support more applications than a
Re: (Score:2, Insightful)
It's not only possible. It's mandatory. It's called input validation, and everybody else is doing it. The only reason I can see why Microsoft is an exception is that they have convinced people like you that it's not their fault if *their* software breaks. Get a clue.
Re: (Score:2, Insightful)
Wow, brilliant.
So... since I can write a really bad script that deletes a user's files or a bad application for any OS, it is the OS's fault or the company that designed the scripting language?
Cool, I will write tons of applets to wipe hard drives to give to my friends and then tell them that you sai
Re:Anyone's surprised? (Score:5, Funny)
This was not patch Tuesday (Score:5, Informative)
Re: (Score:2)
So what you're saying is that they've got 6 days left to patch the patch?
Re:This was not patch Tuesday (Score:4, Funny)
Except for down under (Score:2, Funny)
Before all the lame bashing.. (Score:4, Insightful)
This is exactly why it takes Microsoft so long to put out patches sometimes. Unlikely all these free and open source packages, Microsoft Windows is actually used by tons of users at home and in the business world. People need their machines to do their daily activities and jobs. This is why so much testing is needed before something can just be shoved out there. This is why you tend to see this sort of thing from patches released out of cycle. It obviously has not and could not have been tested as much (and yes sometimes problems occur with patch Tuesday patches).
You might not see as many issues with *nix based systems. Why? Well, there just are as many users. This might sound like a cliche but it is a fact. Look at when official Redhat patches and other updated packages actually come out. They come out days, weeks, and months later. Sure there is some patch that some random guy hatched together -- the power of open source!! However, if you were to apply that untested P.O.S. across the world in tons of real environments, you'd probably have a shitton of problems.
This does not excuse problems with patches, but at least it came quicker. Remember, M$ has to release stuff that fortune 1000, government, home users, and everyone else can live with. Pushing some patch 30 minutes later for an OSS package that 2000 rag tag home users use.. just isn't the same.
Re: (Score:1)
Re:Before all the lame bashing.. (Score:5, Insightful)
Having millions of users might be an excuse, but having a bad design can't, if you claim to be developing best software.
I really find it just plain spreading FUD to compare open source software equivalent microsoft software with those metrics. Blah, blah, but it's used by millions, see what happens when open source is used by millions. Just wondering how many in those millions compare design decisions taken during software development of product they use. What's lame is not seeing how broken design of some parts of the software, not bashing due to these flaws.
Re: (Score:3, Interesting)
Yes, you mightn't need a full development environment inside of your word processor or web browser, but they didn't spend time and energy putting those features in there for nothing. Someone determined that the bloat would make them more money...based o
Re: (Score:2)
But that's the whole problem.
Re: (Score:2)
Re: (Score:2)
They could have created a similar product with a similar feature-set and performed better as a software company if they had learned the lessons of the past (UNIX) and learned them early. Modularity rules all other design concepts. I hear they are picking up the banner of modularity but I certainly am not banking on it.
That is why the Unix mentality produc
Re: (Score:2)
I would term it embrace and extend to proprietary features that only work where Microsoft allows it to work. It's called lockin, and it comes free.
rd
Re:Before all the lame bashing.. (Score:4, Interesting)
Uh, several of our enterprise webapps used animated cursors to let the user know that something is being processed. Maybe to a clueless geek user feedback is a useless feature, but to anyone who knows about UI design it is a requirement. The real sin with this patch is that this bug was already patched TWO years ago, but they meerly patched the codepath for the known vulnerability and left it at that, they did not look at the actual cause of the problem and so we have the same vulnerability with a twist come out two years later.
Re:Before all the lame bashing.. (Score:5, Insightful)
Re: (Score:2)
Really? And all this time I thought that animated blue box filling up dialog really meant that it was working hard.
Re: (Score:2)
Cue M. Night Shyamalan, sounds like a new movie opportunity...
Re: (Score:2)
Re: (Score:2)
Re-use of code like allowing an
Re: (Score:3, Insightful)
A security exploit in animated cursors and then they stuff up a number of other applications trying to patch the exploit.
This isnt Internet Explorer. Its a simple animated cursor.
And yeah I am using Linux and have been for years. Happy?
Re: (Score:1, Flamebait)
Yeah like allowing websites to load animated cursors is great idea of bloat. WTF you would event want to do that? When using operating system shell I have my OWN set of cursors and it is totally stupid to even add such feature...
So take it like this (it is quite obvious). Windows is bloated. Bloat means that in every stupid feature that nobody uses can be a but. Bloat means that patching is hell because it is so bloated that th
Re: (Score:2)
Re: (Score:2)
I was refering to particular function that ALLOWS WEBSTIES TO LOAD CURSOR INTO YOUR COMPUTER. Not animated cursors per se (every decent shell uses them).
Re: (Score:2)
Re: (Score:2)
But it was still BAD DESIGN decision to allow websites (untrusted) to load cursors into shell. It is like asking for trouble. The problem is that they introduced something like this. Nobody really used it and they let it alone to rot in few Windows versions. And than *boom* it comes back.
Don't you see a pattern here? Some of Windows flaws come from such legacy stuff (that nobody really used).
Re:Before all the lame bashing.. (Score:4, Insightful)
Re: (Score:2, Funny)
Re: (Score:2, Funny)
Re: (Score:2)
Yeah, it's not like MySQL or Apache are used by anyone. Or PHP, Perl, Java, Firefox ...
Re:Before all the lame bashing.. (Score:5, Insightful)
2000 ragtag home users? You are smarter than that, I can tell by the quality of your writing and sentence structure alone. While some OSS packages serve small communities, there are lots of packages that serve large and diverse communities. (PostgreSQL, Apache, the Linux kernel, Firefox, the list goes on). Those packages have, on occasion introduced vulnerabilities due to the natural vicissitudes of software development. And when their vulnerabilities are discovered, they get fixed quickly. (And this one hit me this morning: I don't need Linux Genuine Advantage for permission to receive updates to my damn software!!!)
It is worth noting, however, that such vulnerabilities are nearly always limited in scope due the inherently modular nature of the OSS world. Microsoft built a highly integrated system to support its business model. They are welcome to their high integration approach. And those of use who do not appreciate the effects of that way of doing business are welcome to complain when it wacks the shit out of our families' productivity when we are trying to get some proprietary fix.
I don't need Linux Genuine Advantage... (Score:4, Funny)
But of course it's available if you do want it [linuxgenui...antage.org].
Naturally Linux Genuine Advantage is open source, and not to be outdone by Microsoft platform hackers a hack is available to auto-certify LGA without actually contacting the LGA server.
Re: (Score:2)
Wonder how long before SCO buys into this product
-- Jim.
In actual fact (Score:3, Informative)
Yeah, WGA sucks, but software updates will come either way.
Also, to say Linux is completely independently modular isn't entirely accurate either (although, in fairness it's not like I completely disagree). Upgrading kernels (due to 'serious' security vulns) will break more things than I'd like for instance - my (yes I
...you will make your own bashing (Score:2)
Perhaps you have not noticed that a majority of fortune 500 companies are using Linux in some capacity.
Rag Tag home users? You don't have a job, do you?
Re: (Score:1)
Re: (Score:2)
Point of Order: (Score:2)
Now - forget the dazzling array of hardware and software to check against. This .ani thingy is a UI issue that should --at worst-- munge the way an app's mouse cursor animation looks, but not munge the app itself, or even think of touching OS stability.
C'mon... we're not talking about patching the TCP/IP stack, or patching against ntldr here
Re: (Score:2)
Re: (Score:3, Informative)
http://www.w3.org/TR/CSS21/ui.html#propdef-cursor [w3.org]
In other words, *something* has to be able to load and process the mouse cursor. And if the thing that loads and processes the mouse cursor falls prey to a buffer overflow, then you've got yourself a vulnerability. Since it's the OS that handles and draws the mouse (so it's not an IE thing; FF will fall prey to this too), it's the OS that handles the mouse cursor, so a b
The sad life of a Windows developer (Score:2, Troll)
Developers, developers, developers
Many of them trying to keep afloat the bastardized zombie of a legacy project begun in DOS and ported to Win 3.1, Win32, Win64, .NET, Sun Java, MSJava, Sun Java again and Vista. None of them with Microsoft's preferred and undocumented internal APIs for any of those systems. Many of them with no clue how to write good code, managed by non-programmers who can't tell. Each of them insisting that each revision has slain their sacred cow. So many of them that any patch no m
Re: (Score:2)
No, that isn't the issue. There are several matters here. One of them: FOSS software has sources available. It is far easier, for certain types of patches at least, to check if there will be problems by checking source code. Even a simple grep can tell you what apps rely on the element you are changing. Furthermore, the patch's source is shown to the app develo
Re: (Score:2)
I used to think that it was because *nix doesn't execute arbitrary code embebed on images. But thanks for oppening my eyes.
Re: (Score:2)
What I want is a first-party "XPLite [litepc.com]"
This looks like something vendors could fix. (Score:2)
This looks like something vendors could fix without a "hotfix" from MS.
Re: (Score:1, Informative)
Re: (Score:2)
Also, they're "hardcoded" because it's faster when the system d
Re: (Score:2)
he (Score:1)
Re: (Score:3, Interesting)
You simply have to be careful with the address space if you are a library that will be dynamically loaded in plenty of images, especially if you are loaded very early on.
(Heh, last
Realtek HD Audio exists on a lot of PCs... (Score:4, Informative)
Seems like this isn't really an "isolated" problem, but a fairly common one if you own a desktop made in the last year or a recent laptop...
Re: (Score:1)
Re: (Score:1)
Re: (Score:3, Informative)
Re: (Score:3, Insightful)
Windows comes with a perfectly usable GUI interface to volume controls and other audio hardware settings. Why did Realtek have to create a crapware application to do the same thing?
Re: (Score:3, Insightful)
Anyway, if I want the audio to work in XP on my wife's new laptop, I have to use Realtek's crapware application. That's just the way it is.
I guess this is a good argument for the Linux model, where drivers are
Re: (Score:2)
Perhaps not, but then again Windows users don't have to recompile the kernel when they want to add, update, or swap drivers. I understand that this is mitigated in Linux with Loadable Kernel Modules, but how is that really different conceptually from the approach that Microsoft takes with not putting vendor drivers in the kernel to begin with
Re: (Score:2)
1) Loadable modules completely eliminates any need for recompiling the kernel when swapping drivers.
2) All drivers you need are almost always included with the kernel, which is supplied by the distro. The only exceptions are usually bleeding-edge stuff or wireless drivers.
3) If you need to update the kernel (e.g., a security update comes out), it's really quite simple, and is usually done automatically by your distro's system update software. You just click a few times to dow
Re: (Score:2)
They do provide certified third party drivers with the OS out of the box, especially for common hardware from name brand manufacturers, and they provide updated drivers via their Windows Update service. I am not trolling, but maybe I just do not see why the Linux driver model is substantially better.
Re: (Score:2)
I had the Realtek issue..... (Score:3, Interesting)
So.. If the fix is that simple, is this issue really an issue or is this issue blown out of proportion?
Re: (Score:2)
Re: (Score:2)
It occurs to me that updating the Realtek driver might not solve the root problem. The Microsoft KB article [microsoft.com] states that
Updating the Realtek driver proba
Re: (Score:2)
I really wish I could just migrate everyone
Re: (Score:2)
That statement is almost more mind-boggling than the fact that there was a remote code execution vulnerability in animated cursor handling to start out with. The only think I'
Re: (Score:2)
Yes, that makes perfect sense.
Download new audio driver in order to fix the problem introduced in auto-installed security patch for a vulnerability in a Windows feature 99% of users never heard of.
So logical.
To Quote the movie "Brazil" (Score:3, Funny)
"There's been a little complication with my complication"
big program breaking (Score:2, Interesting)
MS build/release system? (Score:4, Informative)
Normally clashes of base addresses happen all the time. For most DLLs the base address is sort of a suggested location, the OS load the DLL to this area if it can, but will "relocate" DLLs to free memory area if that space is taken. User32.dll isn't allowed to be relocated for some reason (a very good reason, I'm sure). If it's space is already taken (by HHctrl) the program using it cannot load. HHCtrl.ocx has no problem being relocated, but this will only happen if it's loaded after user32.
I'm surprised that anyone could manage to make an application that would load these DLLs in this bad order - but that's not the point I guess. Usually you'd HAVE to call a function in User32.dll long before loading anything COM - esp an HTML help control (which is what hhctrl is).
A big ha-ha to vendors using animated cursors (Score:3, Interesting)
Reminds me of when I bought a little FM radio controlled by a serial link. The crapplet they sent on the CD-ROM was so annoying, the first thing I did was sniff the serial protocol and write my own little non-obtrusive applet. I asked the manufacturer for the proto specs first, but they delined, even after I pointed out how easy it was going to be to reverse engineer them... idiots!
Never thought I'd write something like this, but kudos to MS for saying we're not going to work around your crappy little app.
</rant>
Re: (Score:2, Informative)
Critical? (Score:2)
Broken applications? Eh... not so much.
Luckily I happened to be at my parents house... (Score:2)
Good thing I happened to be there since there's no way they'd have figured out what had happened. I might have been able to figure it out eventually, but probably wouldn't have associated it w
This isn't Microsoft's fault (Score:3, Informative)
The change that broke these applications was changing the base address of user32.dll (from 77D40000 to 7ED10000 I believe). The programs that broke were using the 7ED10000 range. When user32.dll can't load at its desired address, it will fail to start the process. DLLs hard-linked by an EXE will be loaded before user32 or kernel32 if they are the first in the import table. Once loaded, user32.dll can't load at its desired address and will get relocated. user32.dll doesn't like this and aborts starting the process. This happens even if the bad DLL is relocatable, because preferred addresses are first-come, first-serve.
The entire 60000000-7FFFFFFF address range is reserved for Microsoft DLLs and special memory. Don't stick your own DLLs in there! (This address range is true of Win64 as well: just add 8 zeros to the front.)
As for why user32.dll and kernel32.dll don't relocate like other DLLs: so many badly-coded programs that do DLL injection assume that the addresses of LoadLibraryW, etc. in other processes are the same as the ones in their own processes. Almost all DLL injection code snippets assume this, and it's just wrong. The proper way is to use either EnumProcessModules or CreateToolhelp32Snapshot to list all the DLLs in the target to find the one you want. The correct address to use is then remote_function = local_function - local_dll + remote_dll. The types HMODULE, HINSTANCE, and IMAGE_DOS_HEADER * are equivalent, so just cast to a DWORD_PTR.
Microsoft: Give it up! (Score:2)
What's worse? I've got an old windows 98 burn-in disc, that did more thorough testing and caught more bugs than either our XP or Vista discs do. And people wonder why every laptop I repair never fails - KISSER (Keep It Simple, Stupid, Every Revision.)
But, hey, if my company wants to move to Vista, lose profit, and put themselves out of a job
Re: (Score:2)
http://it.slashdot.org/comments.pl?sid=228751&cid