Linux kernel cured of remote panic-attack bug
Get your BUG_ON
Developers of the Linux kernel have patched a bug that allowed attackers to remotely crash a machine by sending it malicious Wi-Fi signals.
The flaw in the delBA handling of mac80211 has been fixed in version 2.6.32, the latest stable release of the Linux kernel. Various distributions of the open-source operating system have already acknowledged the issue and are expected to push out updates soon. Based on developer notes on the official Linux website, the vulnerability appears to have been introduced in February.
The flaw stemmed from faulty code that called the BUG_ON macro before various checks were performed. That raised the possibility of NULL being passed to TX/RX_STOP parameter, which in turn caused a kernel panic. The end result: an attacker within Wi-Fi range of a vulnerable machine might be able to effectively shut it down.
Open vs closed development
Linux developers (or anyone else) announce the bugs. It helps improve the system faster and get the fix out fast. If you don't get to a bug someone else will. There is lots of peer review.
Microsoft and other vendors keep quiet for as long as possible about old bugs and new bugs just introduced. The bugs take their toll when malware damages your files or privacy AND you find out about it.
When you develop in the open, you are forced to come clean and not cut corners else you get called on it as soon as someone realizes.
Linux development also means most distros have some vulnerability or other at any given point in time, but in each case it's a different set. It's a lot more expensive to target Linux as a platform because there are many variations out there (not to mention that a would-be attacker is competing with a whole lot of people that are also watching).
Attackers with money (or a dirty scheme) can always try to buy off from disgruntled Microsoft developers and contractors for secrets, but you can't really buy off what everyone already knows and is forced to keep as clean as possible.
Linux development frequently gets contributions from enthusiastic people very motivated and learned on the product rather than being limited to getting contributions exclusively from mostly the same group of people, some of whom go to work for the money (put in 40 hours of work) and worry more about keeping their nose out of trouble than about doing the best job possible and creating waves or issues.
Linux allows for a path for experimentation/creativity and great feedback without disrupting conservative users.
Open vs. closed development: contributing on your own terms and knowing you will have many reviewers (frequently friendly reviewers) vs. cutting corners in the dark as necessary in order to meet profit goals.
Microsoft keeps secrets from you about your own computer. Linux does not.
So despite Microsoft's well documented dirty play, huge monopoly levers, track record of destroying competitors, etc, Linux continues to get stronger while Microsoft struggles a little more each day. In fact, Google is healthy because of Linux and open source. Stock markets, the Internet, supercomputer users, and many others shun Windows in favor of speedier and more reliable Linux. The Linux desktop keeps improving despite the risks some companies have taken by upsetting Microsoft in order to open specs to Linux.
And did I mention Linux (in any flavor) is $0 for life?
More fuel in Monolithic vs micro kernel argument?
Would this be a good example of kernel-side device drivers being a bit of a liability?
Almost all of the home routers are running something much older than even the 2008 flaw that was fixed. My own nearly new router is running 2.6.10, for example and I don't think the shiny 802.11n one I had for a while was running anything much newer, if at all.
These router people are incredibly conservative.
It's only the bleeding edge distros (ubuntu, fedora, and the like) with the recent kernels that are going to have this issue ...