Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Bug

Flaw Found iIn Ethernet Device Drivers 429

Licensed2Hack writes "Security researchers have discovered a serious vulnerability that may be present in many Ethernet device drivers that is causing the devices to broadcast sensitive information over networks. Seems the device driver writers couldn't be bothered with a memset() call. Eweek has their typical (puffy, low on tech details) take on it here. Since they don't specify the OS, I'm assuming these are drivers for Windows." It's actually Linux, *BSD, and Windows.
This discussion has been archived. No new comments can be posted.

Flaw Found iIn Ethernet Device Drivers

Comments Filter:
  • well (Score:5, Interesting)

    by REBloomfield ( 550182 ) on Thursday January 09, 2003 @08:16AM (#5046155)
    lets hope this isn't globally exploitable, as I can't imagine every manufacturer of every card is going to fix this....

    One wonders whether it would be possible to build a fix into the operating system, or would that be too great an abstraction?

  • I can read! (Score:5, Interesting)

    by 1010011010 ( 53039 ) on Thursday January 09, 2003 @08:24AM (#5046179) Homepage

    "This information leakage vulnerability is trivial to exploit and has potentially devastating consequences. Several different variants of this implementation flaw result in this vulnerability," the @stake researchers wrote in their paper on the flaw, released Monday. "The Linux, NetBSD and Microsoft Windows operating systems are known to have vulnerable link layer implementations, and it is extremely likely that other operating systems are also affected."

    The most likely exploitation of the vulnerability would be for an attacker to send ICMP (Internet Control Messaging Protocol) echo requests to a vulnerable machine. The machine would then send back replies containing portions of the device's memory. In tests, the researchers found that most often the pad data sent in error contains portions of network traffic that the vulnerable device is handling.
    ... how much? The pad of older data in a 46 byte header can't contain a lot of data.
  • by Anonymous Coward on Thursday January 09, 2003 @08:33AM (#5046211)
    Just tested this with Ethereal on W2K.

    The command 'ping -n 10 -l 1472 ' sends a packet that's padded with 'abcd...uvwabcd...uvwabcd'.

    The echo reply is padded with the same characters, apparently just pulled from the request and stuck in the reply. So far I've tried pinging W2K, HPUX, a Cisco router, and a Debian box. All return the contents of the initial request as padding.

    Is there more to replicating this than they let on? Or are they just full of poop?

  • by somethingwicked ( 260651 ) on Thursday January 09, 2003 @08:49AM (#5046271)
    "Since they don't specify the OS, I'm assuming these are drivers for Windows."

    Funny, I am careful about checking my facts, and I am assuming that only 5 people will read my post. I would hope I would put a LITTLE more effort into my fact checking tho if I thought it was going to get 1,000,000 hits.

    Since the poster and the editors don't check their facts, I am assuming they don't.

    Slashdot is the first site I hit for tech info. And typically, while exagerrated, the attacks on MS have basis at least.

    But an ASSUMPTION like above about "Well, there's a problem, it must be Windows!" just makes my ears perk up immediately and want to check the facts. Why doesn't it for the Slashdot editors?

    WHY would you assume that? Just from the blurb the poster included it immediately seems the kind of oversight that would have the POTENTIAL at least to affect multiple systems.

    And yes, I realize that Windows drivers written by third-parties have been targetted, I find it amazingly amusing the native Windows drivers have been determined not to have this issue

  • Re:well (Score:1, Interesting)

    by lederhosen ( 612610 ) on Thursday January 09, 2003 @08:52AM (#5046281)
    The device driver is a part of the OS and not the hardware...
  • by Daniel Phillips ( 238627 ) on Thursday January 09, 2003 @08:54AM (#5046291)
    Interesting fact: Microsoft Windows is mentioned as "not vulnerable".

    You mean Microsoft said they aren't vulnerable. [cert.org] But look at these weasel words: "However, we have found samples in our documentation that, when compiled without alteration, could yield a driver that could contain this issue." Draw your own conclusions.
  • Re:common fault (Score:4, Interesting)

    by PhilHibbs ( 4537 ) <snarks@gmail.com> on Thursday January 09, 2003 @09:00AM (#5046321) Journal
    I was browsing around a Delphi executable file, and found a hod load of HTML that I had been working on earlier that day. The thing that pissed me off most was that all that junk that could have been zeros made the file less compressable than if it were, and we were distributing software over 19.2kbps serial connections at the time.
  • by martin ( 1336 ) <maxsec.gmail@com> on Thursday January 09, 2003 @09:50AM (#5046620) Journal
    The firm I was workign for at the time noticed this 6 years ago on AIX.

    We informed CERT/IBM - nothing happened.

    NOW it it makes all the headlines.

    what impact does it have - none, unless the stuff in the PADing area contains the unencrypted data that was originally send encryped. Or am I missing something like I normally do?
  • memset on windows?? (Score:2, Interesting)

    by Anonymous Coward on Thursday January 09, 2003 @09:50AM (#5046621)
    >> Since they don't specify the OS, I'm assuming these are drivers for Windows.

    Whenever I read "memset", I think aloud "unix".

    Windows programmers talk about ZeroMemory and FillMemory, not memset. In drivers, that would be RtlZeroMemory and RtlFillMemory.
    memset exists for compatibility, but it's just a wrapper around FillMemory.

    Secondly, for security reasons, Windows ensures that no app will ever find remnants of another app's data in its memory space (all allocated memory is erased before is't given to the requester), which significantly reduces the risk that sensitive data would be transmitted.

    Normally, if the app passes it less than 46 bytes of data, the driver would have to copy it to its own buffer space at the lowest execution level to avoid hitting addresses that aren't mapped to physical memory later (would cause a BSOD if it happened above dispatch level).
    If that buffer is allocated dynamically it would be empty, if it's static it would contain some part of the previous packet - not so much risk of finding sensitive data there, since it's just repeating something that has already been on the network.

    BTW, the CERT advisory contains a long list of checked systems. There are only six names where it says "Not Vulnerable", and one of those six is Microsoft, so heck yeah, please keep feeling safe because *n*x is so damn secure by defi^H^H^H^H religion.
  • Re:Wow.. (Score:4, Interesting)

    by Omnifarious ( 11933 ) <eric-slash@nOsPAM.omnifarious.org> on Thursday January 09, 2003 @10:08AM (#5046744) Homepage Journal

    Actually, the data could potentially be from a random buffer in memory, depending on the driver and network stack implementation. So, it could even contain portions of decrypted private keys, for example. But, that's highly unlikely, and it would be hard to find that information in the sea of other random info you'd get from these packets.

    Yes, it's hard to exploit, but it's also a very serious bug.

  • by LordKaT ( 619540 ) on Thursday January 09, 2003 @10:12AM (#5046771) Homepage Journal
    So I'm curious, is this the same problem we read about here that I encountered . . .

    This problem is similar in that it is memory releated, but it has nothing to do with server software, and everything to do with device drivers. Your problem was memory on the server side of things, specifically, the buffer you used needed to be cleared out before you used that buffer again, otherwise the old data would be still be in the buffer, until new data came along that was as long (or longer). Basically, you would need to sniff the packets in order to get the overflow of memory, otherwise it was just poor coding on your part. Here's an example:

    main()
    {
    // . . . some init stuff here
    char *buffer = "wookie"; // assume we used this
    // . . . socket stuff here
    send(wookie); // send "wookie"
    *buffer = "wokie";

    /* *buffer now contains "wokiee" because the last e was never cleared. If we were to send this, the client would receive wokiee. We need to clear this (memset or something else) before we put data in it */
    }

    --LordKaT

  • 3Com/USR?... (Score:3, Interesting)

    by fudgefactor7 ( 581449 ) on Thursday January 09, 2003 @10:16AM (#5046790)
    WTF?! 3Com makes a buttload of cards, yet they're not even listed on that CERT list.
  • Re:I can read! (Score:5, Interesting)

    by thogard ( 43403 ) on Thursday January 09, 2003 @10:28AM (#5046870) Homepage
    I can sniff most low end cicso switches....
    The 2924xl and 2950 allow you to block any mac address except broadcast addresses. So if you you flood the network with packets with one broadcast address and one real mac address you overflow its table it goes into a nice bridge mode. With a decent box it takes nearly two whole minutes to crack a single vendors mac codes.

    As long as US compaines keep selling out to the short term stock price and sending critical stuff off 1/2 way around the world to be designed by people with no clue about real security, their products are going to be crap and full of holes. At one point I could trust Cisco and Sun but now they are almost at the level of most beige box builders but with them I know who I can go visit to get my money back.

    All the new gear I've been buying is Kiwi designed stuff made by ATI. After a decade of dealing with cisco, I can't recomend any of their newer gear. the Current cisco mac address overflow was fixed by real engineers back in 1993. I'm not sure what kind of idiots they get to write their current code since bug history means nothing to them.

    Why don't I put this on bugtraq and get it fixed? Its simple, The idiots that put the bug together have good jobs and the good people that know this stuff don't because of cost cutting.
  • by Junks Jerzey ( 54586 ) on Thursday January 09, 2003 @10:53AM (#5047062)
    Windows programmers talk about ZeroMemory and FillMemory, not memset. In drivers, that would be RtlZeroMemory and RtlFillMemory.
    memset exists for compatibility, but it's just a wrapper around FillMemory.


    memset is a standard C library function. Here's a hint: the standard C library exists under Windows, too. I have never called ZeroMemory or FillMemory, period.
  • by FreeLinux ( 555387 ) on Thursday January 09, 2003 @11:21AM (#5047282)
    I've found another similar vulnerability in Windows IP stack. I'm sure that I am not the first to discover this but, it has existed for a long time and has never been fixed. I have verified the vulnerability on all Windows platforms except XP, which I simply haven't bothered to look at.

    The "vulnerability" is very similar in behavior to the one described in the article but, is at the IP level rather than the link layer. The vulnerability has to do with padding of IP packets on Windows systems. Windows uses the contents of one of its buffers (sorry I can't say which one) to pad IP packets.

    This is very easily reproducable when sniffing ping packets. The data portion of the packets are padded with the contents of the buffer. There are other utilities that demonstrate this behavior as well, but it is most easily reproduced with a simple ping and the bigger the ping packet the more data you'll see.

    If you have been using IE and then sniff ping packets, you will see the data from your previous browsing. If you just logged in, you can sometimes find your password padding the ping packets.

    As I said I have verified this on all WIndows platforms except XP. I have also looked for it on numerous Linux platforms and have NOT found Linux to suffer the same vulnerability. That is, Linux does NOT appear vulnerable.
  • MS is okay? (Score:2, Interesting)

    by hakalugi ( 162528 ) on Thursday January 09, 2003 @12:42PM (#5047940)
    Microsoft Corporation Information for VU#412115

    Date Notified 06/25/2002

    Date Modified 01/09/2003 10:55:58 AM

    Status Summary: Not Vulnerable

    Vendor Statement

    Microsoft does not ship any drivers that contain the vulnerability. However, we have found samples in our documentation that, when compiled without alteration, could yield a driver that could contain this issue. We have made corrections to the samples in our documentation, and will include tests for this issue in our certification process.

  • Re:common fault (Score:1, Interesting)

    by Anonymous Coward on Thursday January 09, 2003 @01:01PM (#5048102)
    Access cleans out the database when you compact it.
  • Re:common fault (Score:1, Interesting)

    by Anonymous Coward on Thursday January 09, 2003 @06:43PM (#5050906)
    Not "packing" (which is the term when a filebased database doesn't immediately physically remove deleted records) is a very common occurance among filebased and ISAM databases. This isn't a flaw. If you want it removed, compact.

THEGODDESSOFTHENETHASTWISTINGFINGERSANDHERVOICEISLIKEAJAVELININTHENIGHTDUDE

Working...