Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Cisco Confirms Regex Flaw in IOS

Posted by CowboyNeal on Sat Sep 15, 2007 11:01 AM
from the does-not-compute dept.
gattaca writes "Cisco has announced a confirmation of an unpatched denial of service vulnerability in Cisco IOS. From the NetPro Forum post: 'I have just discovered a regular expression that crashes the router. I suspect the error is because of division by zero. Since I work for the Enterprise, I do not have direct access to TAC. Please somebody report this to Cisco. I have tested it on ranges of routers (2611, 2821, 2851, 7206) and IOSes (12.0-12.4). All routers crashed with some type of BUS ERROR. Command can be issued in user mode, therefore I think it can be considered as vulnerability to potentially cause DOS.'" Of course, the command has to be entered in user mode, so while potentially a vulnerability, chances are your local IOS-based router won't be DoSed via the bug any time soon.

Related Stories

This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • does it could as denial of service (Score:3, Insightful)

    by Ferzerp (83619) on Saturday September 15, @11:06AM (#20616609)
    if your own people have to do it?
  • Get off the bus (Score:1)

    by The Clockwork Troll (655321) on Saturday September 15, @11:10AM (#20616635)
    Nitpick: if it were a division by zero fault, would it really trigger a bus error, or more likely a ... division by zero error?
  • Then don't do that (Score:2, Funny)

    by Anonymous Coward on Saturday September 15, @11:13AM (#20616679)
    FTA: "I have just discovered a regular expression that crashes the router. I suspect the error is because of division by zero."

    Reminds me of:

    Patient: "My arm hurts when I do this." <wiggles arm>
    Doctor: "Then don't do that."

    The solution is obvious: don't use that regex/divide by zero. Duhhhh. Problem solved. Thank you, come again.
  • A bigger IOS flaw discovered (Score:5, Funny)

    by packetmon (977047) on Saturday September 15, @11:17AM (#20616723)
    (http://www.infiltrated.net/)
    A bigger vulnerability has been discovered just now as well...

    r8#sh ver | in IOS
    IOS (tm) C2600 Software (C2600-IO3-M), Version 12.2(15)T2, RELEASE SOFTWARE (fc2)
    r8#reload
    Proceed with reload? [confirm]
    Seems like anyone with admin access can reload your router.

    IOS (tm) 4500 Software (C4500-A3JK9S-M), Version 12.2(40a), RELEASE SOFTWARE (fc1)
    frSwitch#reload
    Proceed with reload? [confirm]
    Confirmed on multiple routers as well! OMFG. On another note, anyone with local access to the router can power down the router causing a massive denial of service. Our admins here at GoodyTwoShoesNetworking.com are placing epoxy across all power buttons and cables to prevent this
  • The Enterprise (Score:5, Funny)

    by AntEater (16627) on Saturday September 15, @11:25AM (#20616791)
    (http://slashdot.org/)
    "Since I work for the Enterprise, I do not have direct access to TAC. "

    Yes, Capt. Kirk can be very protective of the TAC.
  • RegEx's are incredibly dangerous (Score:3, Informative)

    by mosel-saar-ruwer (732341) on Saturday September 15, @11:29AM (#20616823)

    Writing code that can parse for any given syntax is, well, pretty much as difficult as writing a parsing front-end to a compiler.

    I.e. it is not trivial and it is fraught with danger.

    Any time you allow the user to submit arbitrary, un-screened, un-filtered data, you're just asking for trouble.

    Of course, I guess you could argue that the job of a RegEx parser is precisely to do the screening & the filtering for you, but it is not a trivial business, and anyone who approaches the problem as though it were a mere triviality is a fool.

    I.e. from the security point of view, the RegEx parser is a firewall [and, in all likelihood, is the only firewall], hence anyone writing a RegEx parser has to assume that the user submitting the input is a blackhat, not a whitehat.

    PS: And the problem undergoes manifold [if not infinite] complexification when you're dealing with languages [or "environments"] like HTML, Javascript, and XML, which can re-write themselves on the fly.

  • Looking Glass (Score:1, Insightful)

    by Anonymous Coward on Saturday September 15, @11:51AM (#20616985)
    There are many routers out there running IOS that are used for Looking Glass purposes, so, yes, this is a problem I guess..
  • Old news (to everyone but Cisco) (Score:5, Insightful)

    by OriginalArlen (726444) on Saturday September 15, @12:17PM (#20617195)
    This was widely publicized (amongst the loose communities of Cisco users, anyway) back around the time [secunia.com] the original post [nether.net] was made. Hey, that would have been... 18th August! :)

    To be fair, there IS a story here, which is that Cisco only just acknowledged this officially.

    Service Provider types (the operators of routers whose successful attack would actually affect anyone in the real world) have been well aware of this. But as others have pointed out, if you don't trust your admins, and you're not running proper logging and a proper audit trail of admin sessions already, you've got bigger problems than this.

  • A question (Score:1, Offtopic)

    by Poromenos1 (830658) on Saturday September 15, @12:19PM (#20617211)
    (http://www.poromenos.org/)
    Can someone explain to me the difference between a $50 OpenWRT router and a $2k Cisco one? I have both, and the OpenWRT router is by leaps and bounds more featureful than the Cisco one (I guess that doesn't really make sense, because for $20k the Cisco can have the same features). Obviously the difference is reliability/performance, but what are the exact limits? How many people do I have to have in my network before getting a Cisco? How will I know that?
    • Re:A question by bagboy (Score:3) Saturday September 15, @12:41PM
      • Re:A question by Poromenos1 (Score:2) Saturday September 15, @01:02PM
        • Re:A question by un1xl0ser (Score:2) Saturday September 15, @01:13PM
          • Re:A question by Poromenos1 (Score:2) Saturday September 15, @01:22PM
        • 1 reply beneath your current threshold.
    • Re:A question by Anonymous Coward (Score:1) Saturday September 15, @01:11PM
    • Re:A question by Spazmania (Score:2) Saturday September 15, @01:33PM
    • Re:A question by Repossessed (Score:2) Saturday September 15, @02:11PM
    • Re:A question (Score:4, Insightful)

      by OriginalArlen (726444) on Saturday September 15, @02:12PM (#20617983)
      At the low end, there's not a great deal of difference beyond the value of the brand (which is non-zero: how many replies do job ads for "network engineer, min 4 years experience with Linux based routers" get vs. "cisco-based routers"? )

      At pretty much anything above the branch office level, however, there's a huge difference. The two biggies are the backplane, and the ability to support proper linecards with offload routing processors. When you have a fat high-end device in your network core with 8 16-way OC3 linecards, there's just no way the standard PC architecture can keep up. The PC architecture jus isn't designed to shift massive amounts of IO, twiddle bits on a zillion and one packets per second, then route them out a different interface.

      If your cable runs look like this [tmk.com] then you are not going to be using PC hardware, believe me.

      Juniper are a good alternative to Cisco, though. There is now finally some competition.

      [ Parent ]
      • 1 reply beneath your current threshold.
    • Re:A question by Bigjeff5 (Score:1) Sunday September 16, @01:09AM
  • not /0 error (Score:2)

    by v1 (525388) on Saturday September 15, @01:24PM (#20617667)
    (http://vftp.net/ | Last Journal: Saturday December 09 2006, @09:52PM)
    In case anyone cares, the reboot (or "reload" as cisco likes to call it) is caused by a stack overflow resulting from an uncaught recursive processing of specific combinations of regex options. The overflow must be input from the command line interface, after providing a valid username and password to login to the device. If you are being DOS'd by someone that has a valid login and password on your hardware, you have bigger issues that need dealing with before investigating firmware bugs in your router.
  • Crash a router using CLI access? (Score:1, Informative)

    by Anonymous Coward on Saturday September 15, @01:32PM (#20617727)
    If a rogue has CLI access to your router, you have bigger issues. Proper filtering, TACACS and Logging, Out of Band Management makes this a non-issue.

    The risk is almost the same as "reload" or the even more fun undocumented "test crash" commands.

    Granted I do not think this vulnerability requires "enable" access, which does increase the risk. However, nobody should have any CLI to a router that you do not trust.
       
    • 1 reply beneath your current threshold.
  • by twigles (756194) on Saturday September 15, @06:41PM (#20620109)
    Since I did a "show buffers all" on a 4948 and it reloaded the box. General rule I follow is that if you have to have root access to do something, it's not a vulnerability. This is just a TAC case/bug fix.
  • User mode (Score:2)

    by bluefoxlucid (723572) on Saturday September 15, @08:59PM (#20621175)
    (Last Journal: Monday October 09 2006, @07:35PM)
    If you can telnet to the router's IP address and it doesn't block you (i.e. if there's any kind of remote administration), you get user exec mode. Good job.
  • Re:Not a surprise (Score:1)

    by Tanman (90298) on Saturday September 15, @12:13PM (#20617167)
    /0 does not mess up windows calc. They prepared for the error and it returns "Cannot divide by zero," then lets you continue on your merry way to further calculations.
    [ Parent ]
  • Re:Not a surprise (Score:3, Funny)

    by Algorithmnast (1105517) on Saturday September 15, @12:20PM (#20617215)

    Dividing by zero screws everything up. Even Windows Calc, one of the most advanced pieces of software on the planet, can't do it.

    As it happens, I can divide by zero, but only when I try to figure out the inverse of the percentage of well-spent money from my tax dollars.

    Or perhaps, the ratio of posts to informational-posts.

    After all, Godwin needs revision - to paraphrase "A Beautiful Mind".

    [ Parent ]
  • 5 replies beneath your current threshold.