Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Dangerous Java Flaw Threatens 'Virtually Everything'

Posted by Zonk on Fri Jul 13, 2007 11:02 AM
from the let-it-cool-down-first dept.
Marc Nathoni writes with a ZDet article about a critically dangerous hole in the Java Runtime Environment. Due to the ubiquitousness of Java, this could prove a serious security problem. "Australia's Computer Emergency Response Team (AusCERT) analyst, Robert Lowe, warned that anyone using the Java Runtime Environment or Java Development Kit is at risk. 'Delivery of exploits in this manner is attractive to attackers because even though the browser may be fully patched, some people neglect to also patch programs invoked by browsers to render specific types of content,' said Lowe."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • How...useful. :/ (Score:5, Insightful)

    by Kintar1900 (901219) on Friday July 13 2007, @11:05AM (#19848927) Homepage

    Also, this exploit is browser independent, as long as it invokes a vulnerable Java Runtime Environment

    Okay, so which versions are vulnerable?

    • Re:How...useful. :/ (Score:5, Informative)

      by shawnce (146129) on Friday July 13 2007, @11:27AM (#19849259) Homepage
      According to CVE-2007-2788 [mitre.org] and CVE-2007-2789 [mitre.org] any version of Java before "1.5.0_11-b03" and "1.6.x before 1.6.0_01-b06".
      • Original AusCERT (Score:5, Informative)

        by didiken (93521) on Friday July 13 2007, @11:18AM (#19849151) Homepage
        It looks like AusCERT has published on their page about this:

        Quoted from
        AL-2007.0071 -- [Win][Linux][Solaris] -- Sun Java Runtime Environment vulnerability allows remote compromise [auscert.org.au]

              1. Impact

              A buffer overflow vulnerability in the image parsing code in the Java
              Runtime Environment may allow an untrusted applet or application to
              elevate its privileges. For example, an applet may grant itself
              permissions to read and write local files or execute local
              applications that are accessible to the user running the untrusted
              applet.

              A second vulnerability may allow an untrusted applet or application to
              cause the Java Virtual Machine to hang.

              Sun acknowledges, with thanks, Chris Evans of the Google Security
              Team, for bringing these issues to our attention.

              These issues are also referenced in the following documents:

              CVE-2007-2788 at
              http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE- 2007-2788 [mitre.org]

              CVE-2007-2789 at
              http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE- 2007-2789 [mitre.org]
        • Oh good grief, is that all it is? A buffer overflow in images that only affects desktops and servers supporting image uploads that are not running the latest version of a given JVM? What happened to the spreading to PDAs and cell phones, the problem for all users worldwide, the end of things and mankind himself!?!

          Bunch of FUD-spreading fear-mongers. Hrumph.

          Oh, and Sun wouldn't have had this problem if they'd used pure Java code rather than relying on an existing library.
            • Looks to me like the major problem is for embedded devices, where the update isn't easy.

              No, it doesn't. First off, I guarantee you that J2ME implementations do NOT use the same parsing library as the desktop JVM. It's far too heavyweight. Add to that fact that the embedded implementations are written by the phone vendor, significantly decreasing the risk.

              Secondly, J2ME does not support JPEGs or BMPs. The standard only supports PNGs. If you want to open JPEGs, you have to use a pure-Java decoder. (Which would not be vulnerable.)

              Thirdly, Java applet support is extremely limited in Symbian devices; the only devices I'm aware of that support applets. It's basically Java ME + a few extra APIs to bring it up to Java 1.1 standards. It's doubtful that these VMs even contain the APIs that are being exploited here.

              First of all, thanks to the OP for the link to AusCERT. Very, very helpful!

              Oh dear, where are my manners? I'd also like to thank the poster for finding the relevant AusCERT article. Without it, we'd still be at the FUD level. :-)
  • by Anonymous Coward on Friday July 13 2007, @11:05AM (#19848945)
    I think that

    Dangerous Java Flaw Threatens 'Virtually Everything'
    Should read

    Dangerous Java Flaw Threatens 'Everything Virtual'
    I mean, Java is just a freaking virtual machine, not the underpinnings of all laws of physics. I'm pretty sure my shoes and coffee mug are going to make it through this ordeal.
    • by greenreaper (205818) on Friday July 13 2007, @11:09AM (#19848999) Homepage Journal
      What about the people using it to run nuclear reactors?
      • by Azar (56604) on Friday July 13 2007, @11:13AM (#19849055) Homepage
        Well, as long as they aren't using the nuclear reactor to browse warez sites, I think we will be fine.
      • Re:You forget... (Score:5, Interesting)

        by Anonymous Coward on Friday July 13 2007, @11:13AM (#19849061)
        I'm pretty sure that Java's license explicitly states that it should not be used to run nuclear reactors. You might think I'm joking but from here [java.com]:

        You acknowledge that Licensed Software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility.
        I'm not certain but I once heard someone say that languages like Lisp are used in nuclear facilities because they are quick, stable and can be analyzed mathematically to be proved 'correct.' The garbage collector causes Java to be none of these. Also, I think that since Lisp is interpreted, you can switch a program with another modified program without losing execution or control. Not too sure on the details of that though.
        • Re:You forget... (Score:5, Insightful)

          by Ambitwistor (1041236) on Friday July 13 2007, @11:36AM (#19849395)
          Lisp is traditionally garbage collected. I suppose you could modify a Lisp to operate without a GC, but you could probably modify Java the same way. Perhaps you're thinking of another language?
            • Re:You forget... (Score:5, Insightful)

              by MenTaLguY (5483) on Friday July 13 2007, @11:47AM (#19849541) Homepage
              There is no single standard behavior for Lisp garbage collection, nor even really is "Lisp" a single language. It's a wild forest of various implementations and dialects, some of them confederated under the Common Lisp specification.
        • Re:You forget... (Score:5, Informative)

          by JesseMcDonald (536341) on Friday July 13 2007, @11:43AM (#19849493) Homepage

          I'm not certain but I once heard someone say that languages like Lisp are used in nuclear facilities because they are quick, stable and can be analyzed mathematically to be proved 'correct.' The garbage collector causes Java to be none of these. Also, I think that since Lisp is interpreted, you can switch a program with another modified program without losing execution or control. Not too sure on the details of that though.

          1. Lisp also makes extensive use of garbage collection, although there are real-time garbage collection algorithms for it.
          2. Most variants of Lisp are compiled, not interpreted.
          3. Despite being compiled, you can indeed update a Lisp program on-the-fly. This is accomplished through partial recompilation and dynamic linking.
        • Re:You forget... (Score:5, Insightful)

          by timster (32400) on Friday July 13 2007, @11:45AM (#19849529)
          Commercial nuclear reactors, at least in the US, are controlled via relays, not integrated circuits. The control room for a nuclear plant looks a lot like the array of switches and dials on the spacecraft in the movie Apollo 13, scaled up to fill a large room. You might see some more modern technology used for recording or monitoring purposes, but the fundamental operations are not based on anything as unreliable as software.
    • I'm pretty sure my shoes and coffee mug are going to make it through this ordeal.

      Speak for yourself, some of us use Java in our coffee mugs. The upcoming patch is supposed to correct a number of leaks.
  • Australia's Computer Emergency Response Team (AusCERT) analyst, Robert Lowe, warned that anyone using the Java Runtime Environment or Java Development Kit is at risk. "Java runs on everything: cell phones, PDAs, and PCs. This is the problem when you have a vulnerability in something so modular--it affects so many different devices.," said Gatford.

    No offsense, but that's a rather incredible claim. They're saying that no matter if you're running a JVM on the server, cell phone, applet, desktop, or just about any other environment, you're vulnerable? I'm sorry, I can't accept that without extraordinary proof to back up such extraordinary claims.

    Java was designed from the beginning with security in mind. Its security infrastructure has been tested for over a decade now. Any and all exploits have always been a flaw in the specific JVM or interface between the JVM and the OS. (Something which has been plauging browsers and other network-aware applications.) Now some security expert is saying that it doesn't matter what you're doing because Java as a whole is flawed?

    It seems more likely to me that they're blowing the whole thing out of proportion and thereby spreading FUD. It's more likely that it's yet another security hole in specific JVMs and someone here is expanding that to all of Java. I'll happily look at the evidence to the contrary as soon as it becomes available.

    Oh, and upgrades for Desktops is not too big of a deal. Java currently includes an autoupdater that should take care of the issue. All that's left is to deploy updates to servers, should these fellows actually prove that the language you're using somehow conveys a serious security through port 80. :-/
    • That last line should read, "serious security risk through port 80."

      I find it interesting that this team is supposedly reporting a major flaw, yet manually running the Java updater finds no new JVM versions to download. Didn't they contact Sun first? Shouldn't there be a patch already? Meh. The whole thing stinks.

      If you want to run the updater yourself, you can either right-click on the Java icon in your taskbar and select "Control Panel", or you can run the "javacpl.exe" file in the "c:\Program Files\Java\jre\bin" directory. Look under the "Update" tab to see the update schedule. Click "Update Now" to check for the lastest release.

      Mac users do not need to access a separate updater. Java updates are pushed through the standard system updates, accessible through the control panel. These are also scheduled to run on a regular basis. Only Linux/Unix users should need to manually update their JVMs if and when a patch becomes available. Some of these OSes do have a Java updater, but I don't know the current details about these.
      • It appears to be referring to the GIF exploit, which was patched a couple of months ago.

        No, as others have pointed out it's a flaw in JPEGs and BMP files. PNGs (pretty much the only format used in J2ME in cell phones and PDAs) are safe. Here are the advisories:

        http://www.auscert.org.au/render.html?it=7664 [auscert.org.au]
        http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE- 2007-2788 [mitre.org]
        http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE- 2007-2789 [mitre.org]

        The biggest concern is that arbitrary applets could be pushed to user's machines. This is mitigated by the fact that the latest JVM's have already been repaired. Thanks to the Java autoupdater, there should not be many desktops at risk.

        A secondary concern is servers that accept image uploads. BMPs are usually not accepted anyway, but JPEGs could be a concern. So it is best to upgrade these. Which brings us around to your concern...

        The problem is that most Java enterprise software winds up becoming tightly coupled with a specific JVM. (In Oracle's case, a good half-dozen *different* JVMs!) You can't upgrade the JVM without breaking the enterprise app (trust me, I tried, they really work only with the specific JVM shipped), so you're left with vulnerable JVMs and no way to upgrade them. I don't have a solution to that problem.

        For one, it is possible to upgrade these JVMs. It's a bit trickier than a standard install, but it can be done, at least inside the same VM version. (e.g. Java 1.4 apps will usually not suffer from an upgrade to 1.4.1, but a Java 5 upgrade would be disasterous.)

        Secondly, I *DO* have a solution. Yell at the vendor! If they're going to stupidly integrate the JVM for no reason other than to make your life difficult (ostensibly to make it easier, yeah right) then they can take the burden of getting you a patch. Don't let the vendor off the hook until they get the problem fixed! That's just good practice, nothing to do with Java.

        (Of course, a better practice is to find a vendor who doesn't stupidly integrate JVMs, but I digress.)

        BTW, are you talking about Oracle AS or Oracle Database? Oracle AS would need to be patched for situations like this just in case you handle or will handle image uploads. Oracle Database would not be at risk since there is almost no chance of the database being made to parse images in its procedural code. Desktop applications are similarly unaffected unless they download arbitrary images from the internet.
  • by Aefix (968923) on Friday July 13 2007, @11:09AM (#19848997)
    I'd say borderlining FUD. What help is it to tell us that there's some huge security bug without telling us what it is?
  • by pw700z (679598) on Friday July 13 2007, @11:20AM (#19849181)
    ...at least we can be assured whatever disaster happens, it will happen slowly. Just kidding!
  • This isn't new (Score:5, Informative)

    by radish (98371) on Friday July 13 2007, @11:23AM (#19849225) Homepage
    This issue (I'll provide a link [auscert.org.au] to the AusCERT page as the summary neglected to) was first publically announced on June 4 and fully patched by June 29th. All that's happened recently is some minor updates to the ticket. Yes it's serious, but anyone paying attention to such things will have patched already.
    • by dgun (1056422) on Friday July 13 2007, @11:28AM (#19849273) Homepage

      Google Security Team

      I see at the top where they mention the Google security team. But the article quotes only someone named Chris Gatford from "penetration testing firm Pure Hacking" and someone from "Australia's Computer Emergency Response Team"

      AUSCERT ^ has issued something on this, but there is not many details. They claim the exploit is the ability for applets to escalate privileges.

      Also, someone asked, but here are the versions they claim are vulnerable, for windows and solaris.

      First vulnerability:
      * JDK and JRE 6
      * JDK and JRE 5.0 Update 10 and earlier
      * SDK and JRE 1.4.2_14 and earlier
      * SDK and JRE 1.3.1_20 and earlier

      Second vulnerability:
      * JDK and JRE 6
      * JDK and JRE 5.0 Update 10 and earlier
      * SDK and JRE 1.4.2_14 and earlier
      * SDK and JRE 1.3.1_19 and earlier

      And a link to the Aussie security alert [auscert.org.au]

    • by Geek of Tech (678002) on Friday July 13 2007, @11:38AM (#19849433) Homepage Journal
      Among other things, it has been confirmed that cellphones, computers, handhelds, iPods, small children, toasters, garage door openers and SUV owners are all vulnerable to this flaw.

      The only device that isn't vulnerable to this is the Nintendo Wii. The theory is that the swinging of Wiimotes manages to sling the problematic code away from your device.

      If you think that your computer might be at risk, pick it up and start spinning in big circles. This might create enough force to dislodge any vicious code.