Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Java Oracle Security

Latest Java Update Broken; Two New Sandbox Bypass Flaws Found 223

msm1267 writes "Oracle's long security nightmare with Java just gets worse. A post to Full Disclosure this morning from a security researcher indicated that two new sandbox bypass vulnerabilities have been discovered and reported to Oracle, along with working exploit code. Oracle released Java 7u11 last Sunday and said it fixed a pair of vulnerabilities being exploited by all the major exploit kits. Turns out one of those two bugs wasn't completely patched. Today's bugs are apparently not related to the previous security issues."
This discussion has been archived. No new comments can be posted.

Latest Java Update Broken; Two New Sandbox Bypass Flaws Found

Comments Filter:
  • Enough Already (Score:5, Insightful)

    by Anonymous Coward on Friday January 18, 2013 @02:48PM (#42627637)

    Someone, please put Java in the browser out of our misery.

    • Re: (Score:2, Informative)

      by arth1 ( 260657 )

      Someone, please put Java in the browser out of our misery.

      As a sysadmin, I say someone please put Java outside the browser out of my misery.
      "Oh, the system has 24 GB RAM, that means I, Java, can hog 18 GB by default, no problem!", followed by anguish from users who neither understands NUMA nor cgroups, and wonder why their java "creations" are killed by the system.

      • Re: (Score:3, Informative)

        by CodeReign ( 2426810 )

        That's not how java works. Java has a very small memory footprint by default. This is why running minecraft requires you to run java -Xmx6G minecraft_server.jar so you can use upto 6GB

        • Re: (Score:3, Insightful)

          by Anonymous Coward

          From a user-experience point of view, doing that work to enable Java to work properly for Minecraft is an abortion.

          • by Lisias ( 447563 )

            From a user-experience point of view, doing that work to enable Java to work properly for Minecraft is an abortion.

            Being this the main reason for what some (good) developers made the choice to write a tiny native launcher for their java programs.

            • It's really sad how badly Sun screwed up Java. They basically had the world in the palm of their hand at one point - one of the only ways to run rich content in the browser, the only universally available cross platform runtime that the vast majority of people had installed. They tried to do all the right things - Java WebStart to easily run Java applications from a link, downloading all the necessary components on the fly. A simple, easy way to launch applications (just double click on the jar file!).

              But e

        • Re:Enough Already (Score:5, Insightful)

          by kbg ( 241421 ) on Friday January 18, 2013 @04:52PM (#42629041)

          This is one of the very stupid things Java has. The user has to set memory limits for the application, either using to much memory or too little, and the memory used is based on the usage for the application so that it is always a possibility to run out of memory for a Java application even if you have enough memory on your machine. This is a major usability and design flaw in Java.

        • Re:Enough Already (Score:4, Informative)

          by TopSpin ( 753 ) on Friday January 18, 2013 @06:55PM (#42630179) Journal

          Java has a very small memory footprint by default.

          Erm. No. Just no.

          class Main { public static void main(String[] args) { while (true); } }

          (jdk 1.7.0.6 x86_64 linux)

          17M resident for that. 0.5G of virtual address space. The only other class referenced is java.lang.String.

          The equivalent Perl is 1.7M. Node.js is 9M. Python is 4M. TCL is 1.9M.

          EVERYTHING uses less RAM than bleeping Java. A lot less. And this isn't some fail test where Java gets better as applications scale. Go look over here [debian.org] and observe how almost every other language consumes less memory across a wide variety of algorithms. Anecdotal evidence from any app server admin will corroborate this.

          Java is a RAM pig and it always has been. The problem, at least regarding initial memory footprint (and start-up time), is excessive class loading. This is not opinion [mreinhold.org]. There has been a project [java.net] to correct it on the books for almost four years [google.com].

          Like everything else with Java, it has been neglected [dzone.com]. Supposedly the results will appear in JDK 9..... sometime in 2015.

          And don't cite Android as some exception. Dalvik isn't JRE.

      • Re:Enough Already (Score:4, Interesting)

        by gweihir ( 88907 ) on Friday January 18, 2013 @10:30PM (#42631625)

        Indeed. Java was intended for firmware in smaller embedded devices, like washing machines. It was never intended to be connected to a network. It was never intended for large software. It was never intended to go into the mainstream either. All security is patched on later (hint: that approach is sure to fail).

        Put that together with Oracle engineering quality (which sucks badly, I am surprised their database products ever made it to any prominence), and you have a fine disaster. What I do not get is that people think this technological lemon is any good.

    • Re:Enough Already (Score:4, Informative)

      by Above ( 100351 ) on Friday January 18, 2013 @03:33PM (#42628141)

      I would love to banish Java from all of my machines never to see it again. Most of the uses for Java are well, useless to me, HOWEVER....

      There are a few things I do that require Java and even if I wanted to badger my vendors to do them in some other cross platform way I'm not sure how they could. The two I regularly use are access to IPMI cards and Cisco WebEx. Both do things that as far as I can tell can't simply be done in a browser with HTML5 and JavaScript.

      If someone had a good solution for those sorts of things I would dump Java in a heartbeat.

      • by mrops ( 927562 )

        At this point there is no reason why HTML5 canvas can't do what WebEx is doing with Java. Java is great for server side development, it shouldn't be on any end user machines.

        Disclaimer: 10+ year Java developer, so I am biased in favor of Java for web/server development.

      • Webex's use of Java seems that it's only to launch the native client. I'm not sure why they go this route rather than using a URL handler (e.g. webex://[meetingnum]), but once it fires off the native client, it's no longer in use.

    • by account_deleted ( 4530225 ) on Friday January 18, 2013 @03:46PM (#42628319)
      Comment removed based on user account deletion
    • Re:Enough Already (Score:4, Insightful)

      by robmv ( 855035 ) on Friday January 18, 2013 @04:36PM (#42628851)

      Already done, the previous u10 added options on the Java control panel (Windows) to disable all Java feature on the browser, so if you need Java for desktop applications, you don't need expose it to the browser.

      Note: The Java plugin code was never open sourced to OpenJDK, people from IcedTea project developed a new plugin and JNLP engine for Linux. I am starting to think that Sun already knew the bad security quality of the plugin and they decided to never release that code

    • Comment removed (Score:4, Informative)

      by account_deleted ( 4530225 ) on Friday January 18, 2013 @05:25PM (#42629351)
      Comment removed based on user account deletion
  • The same old story (Score:2, Insightful)

    by Synerg1y ( 2169962 )
    Java's had issues with reflection before: http://stackoverflow.com/questions/3002904/what-is-the-security-risk-of-object-reflection [stackoverflow.com] .

    Considering that reflection is basically injecting code at runtime, I'd say most things in the Java world don't need it, not sure if it's on or off by default, but in 99% of scenarios I believe it should be set to off.
    • by K. S. Kyosuke ( 729550 ) on Friday January 18, 2013 @03:01PM (#42627795)

      Considering that reflection is basically injecting code at runtime

      That's pretty narrow, isn't it? Reflection is reification of program's state (and possibly code, which should be a subset of it) in form of (possibly mutable) metaobjects. The interface doesn't necessarily have to allow the program to do things that are inherently unsafe (although some applications need to do precisely that, e.g., Smalltalk IDEs when creating or modifying classes and methods). If Java's reflection features violate Java platform's security, it's an API design flaw, not necessarily a problem with reflection as such. It's not like this is Java's only design flaw anyway. :-)

      • Yea, and why not apply reflection's methods against the platform itself? "Reflect", reverse, and modify the framework appropriately to gain a hook. Java isn't the only language to use reflection, c# has it, but I don't think I've ever seen it used, which may be a testament to it's usefulness more than it's security.

        Potential Reflection scenarios: http://stackoverflow.com/questions/2488531/what-is-the-use-of-reflection-in-java-c-etc [stackoverflow.com]
        • Re: (Score:3, Insightful)

          by Anonymous Coward

          Sorry to say: if you haven't seen reflection used in C# you must not have been looking very hard...

          • Agreed. When my brother was a C# dev (including when he worked at MS on Codeplex) he talked about using reflection a lot.

        • by sjames ( 1099 ) on Friday January 18, 2013 @03:24PM (#42628035) Homepage Journal

          Reflection is extremely useful given a language that considers it a first class feature rather than a bolt-on. Duck typing, for example,is a specific application of reflection. In turn, duck typing can actually fulfill the promise of reusable code that OOP promises but rarely delivers.

          • by cusco ( 717999 )
            OK, I'm not a programmer and never will be but the phrase 'duck typing' is so off-the-wall that I just have to ask what the hell it means.
            • by Cinder6 ( 894572 )

              You know, mallard, stifftail, goldeneye...

              Okay, fine, it's a type of dynamic typing: http://en.wikipedia.org/wiki/Duck_typing [wikipedia.org]

              • by Sique ( 173459 )
                So this is something we were using in LPC 20 years ago without knowing it had to have a special name. We just said, we were calling the method in the object - all objects being from the same type object anyway.
            • by HFXPro ( 581079 )
              When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck. http://en.wikipedia.org/wiki/Duck_typing [wikipedia.org]
            • by sjames ( 1099 )

              In the first generation of OOP, the focus was on the 'type' of an object, often involving an 'isa' method. For example, A.isa(file) might return true. The problem is that it is far too easy to get a case where something very file like isa(MyVerySpecialFileThing) but returns false for isa(file) because it has no truncate method (even though we don't want or need to truncate).

              Duck typing is the idea that the type of an object and where it inherits from is largely irrelevant. We don't care if A isa file, we ca

              • by cusco ( 717999 )
                Ah, so you're checking the type of an object, not keying something in. The only thing that came to mind when I first read it was 'cat typing', aka 'kitty keyboarding', an entirely different activity. Thanks.
            • by DarkOx ( 621550 )

              It comes from the phrase "if it walks like a duck, quacks like a duck than its a duck!"

              It differs from the idea of strong typing where the interpreter and compiler will require the object be exactly the declared type or perhaps something inherited from that type.

              Automobiles might all have functions: start, stop, accelerate, break, hold, left, right; and properties speed, started.

              Car may or may not be inherited from automobile, and it might have more properties and functions, such as LeftTurnSignal. A loose

        • by barjam ( 37372 )

          Reflection in C# is used all the time. If you have written anything more complicated than hello world you have definitely used it. Not directly but the APIs you call use it.

        • by AuMatar ( 183847 ) on Friday January 18, 2013 @03:28PM (#42628073)

          Its major use is to avoid busy work for the programmer. An example is ORM where the program can analyze what fields a class has and figure out what data types those fields are and build sql querries from it. Another example is xml/json parsing, where you can pass in a json string and a class definition and have it match all of the fields in the json to members in the class. You can spend 15 minutes writing annoying boilerplate code or 15 seconds making 1 method call.

        • Yea, and why not apply reflection's methods against the platform itself? "Reflect", reverse, and modify the framework appropriately to gain a hook.

          If that's possible and not intended, you have a bug in your platform.

          Java isn't the only language to use reflection, c# has it, but I don't think I've ever seen it used, which may be a testament to it's usefulness more than it's security.

          Yes, in a decade, perhaps, these two platforms will reach the reflective maturity of Self-93 and its successors. Until then, they're half-botched.

      • by Bob9113 ( 14996 ) on Friday January 18, 2013 @03:28PM (#42628069) Homepage

        If Java's reflection features violate Java platform's security, it's an API design flaw, not necessarily a problem with reflection as such.

        Java is a progamming language, like C. It has access to the filesystem and can fork processes. Security is handled by the operating system, just like C. Any permission that the executing user has, the language has. That is as designed.

        The Java browser plugin, on the other hand, has a sandbox which is supposed to make it safe to run untrusted code. Turns out that trying to make it safe to run untrusted Java code is just as difficult as trying to make it safe to run untrusted C code. The security hole is in the Java sandbox, and in the notion of executing untrusted code in a language that has system access, not in the Java language.

        • AIUI while the browser plugin is by far the most common use of the sandboxing and hence the most common way to exploit flaws in the sandboxing the sandboxing itself is a core feature of the java platform.

          • by Bob9113 ( 14996 )

            AIUI while the browser plugin is by far the most common use of the sandboxing and hence the most common way to exploit flaws in the sandboxing the sandboxing itself is a core feature of the java platform.

            You are calling this a core feature because it was part of the central design more than a decade ago when Java was intended to be used in the browser. The overwhelming majority of Java that is live today does not use the sandbox. The sandbox is no more a core feature of Java than your appendix is a core fea

            • by ADRA ( 37398 )

              Well, you're partly right. Sandboxing is always running on all JVM instances, and can be quite handy when dealing with dividing multiple aspects of a running system (like deploying different versions of a given software library across different deployments on the same server instance).

              Now I haven't looked into this one yet, and I'm not sure if they found flaws in the plugin shared objects, or in the platform's handling of its platform sandbox.. If it was the platform sandbox, then that's a lot worse imho.

        • and in the notion of executing untrusted code in a language that has system access

          Actually, that notion is perfectly fine. In a proper object-based runtime, the untrusted code should only get those references ("capabilities", from security POV) that it's supposed to have access to in order to accomplish its tasks, and nothing more. It can't get anywhere else in any other way then by pointer chasing or querying the provided objects/capabilities and invoking their methods, using the API it's been given access to. Basically, it's the same principle that MS is trying to employ in the develop

  • Is Google's Dalvik virtual machine available for PC or just Android? Perhaps a little competition is needed.
  • by cyberjock1980 ( 1131059 ) on Friday January 18, 2013 @03:00PM (#42627777)

    Whoops!

    I wonder how many of these vulnerabilities will be found and identified before the top brass at Oracle starts questioning the logic in buying Sun. Could Oracle realistically just come out and say "you know what.. we're done with Java"? Is Oracle really this inept at making stuff secure?

    I mean, fixing security vulnerabilities is never good for business.. at all. You spend money fixing something that doesn't affect you directly but definitely affects your customers(which indirectly affects you). It's developer time that could have been spent on the next version's new shiny feature. Not to mention you aren't going to sell your product by saying 'We fixed XYZ vulnerabilities in the last 2 years". Anytime a company name is used in the same sentence with "new vulnerabilities discovered" is also not good for said company.

    When the last topic about these vulnerabilites was posted I mentioned how I don't trust companies with my security any more than I have to and mentioned that my firewall is now pfsense since Linksys, Netgear, and Dlink don't seem to be interested in security without buying a new router every 2 years. Naturally I got modded down. Let's see how this goes this time...

    • by c ( 8461 )

      Is Oracle really this inept at making stuff secure?

      Ask David Litchfield [davidlitchfield.com]. You might also want to read up on their Unbreakable [cnet.com] campaign a few years prior to purchasing Sun.

    • "Is Oracle really this inept at making stuff secure?"

      Aside from their database, Oracle is inept at pretty much everything.

      • by gweihir ( 88907 )

        "Is Oracle really this inept at making stuff secure?"

        Aside from their database, Oracle is inept at pretty much everything.

        From what I have seen of their databases, security sucks there too (for example, no way to securely store certificates for communication or storage encryption), and you basically have to physically and logically protect Oracle database boxes by non-Oracle means.

    • by Scutter ( 18425 )

      Anytime a company name is used in the same sentence with "new vulnerabilities discovered" is also not good for said company.

      True, but it's amazingly easy to deal with that by adding the phrase "But they have a history of fixing vulnerabilities quickly whenever they are discovered." Unfortunately, Oracle can't seem to do this.

    • I mean, fixing security vulnerabilities is never good for business.. at all. You spend money fixing something that doesn't affect you directly but definitely affects your customers(which indirectly affects you). It's developer time that could have been spent on the next version's new shiny feature.

      Have you used Java lately? It hasn't had any killer new features in quite a long time and that stagnation has been there for a period even before Oracle bought Sun. That stagnation looks even worse when you co

  • Interesting (Score:5, Interesting)

    by jones_supa ( 887896 ) on Friday January 18, 2013 @03:01PM (#42627793)
    I still find it odd how Java suddenly caught all the attention regarding security.
    • Smear campaign. I always wondered why a "mega" exploit package was reportedly offered up for sell yet only the Java exploit contained in the package was the one getting the media attention.
      • Re:Interesting (Score:5, Insightful)

        by dalias ( 1978986 ) on Friday January 18, 2013 @03:19PM (#42627987)
        Yes, in some ways I agree it is a "smear campaign", but I don't think it's an unjustified one. When a product has had vulns this serious this many times, yet maintains huge deployment due to market dominance and user lock-in, a huge smear campaign is needed to destroy it. This was the case in the past with products like BIND, Sendmail, WU-FTPD, IIS, IE, etc. and Java is just the latest necessary target.
        • I didn't say it was unjustified just unfair. In fact, depending how Oracle responds, it may actually make Java more secure than other options/languages.

          What I am suspicious of is the lack of coverage for the other exploits. Which unfairly diminishes Java's image while elevating the status of similar products that may have the similar vulnerabilities.

          • This is about Java in the browser. The main competitors in this space are Flash and (if you're in an outdated, IE-loving enterprise) ActiveX. Do you really have that high an opinion of Flash?
    • Windows got better, and fixed most of the easy exploits. Flash got a bit better, and fixed most of the easy exploits. Java and Acrobat Reader are still easy to find exploits in.We'll see what comes next.
      • by Nimey ( 114278 )

        Acrobat Reader got a lot better with version 10's secure mode. I don't remember reading of any exploits that were able to get past that.

    • by Bob9113 ( 14996 )

      I still find it odd how Java suddenly caught all the attention regarding security.

      I think this is largely due to the bad reporting. Ignorant reporters keep referring to this as a Java exploit. It is not. It is a Java sandbox exploit. A Java exploit of this nature would be catastrophic, since there are millions of servers out there running Java. A Java sandbox exploit, on the other hand, is little more than a reminder: Hey, everybody: Disable the Java plugin in your browser, like everyone else did ten years

      • by gtall ( 79522 )

        Oracle Forms relies on Java in the browser. It isn't going anywhere because they use OForms as a front end to their database. Maybe if we asked really nicely, they'd rewrite OForms in something else. I've been asking them for years to put Uncle Larry out to pasture but they don't seem to listen.

    • by sjames ( 1099 )

      It started with a serious security flaw that the vendor (Oracle) tried hard to ignore. The publicity was turned up to shame them into fixing the flaw with an out-of-cycle patch. The vendor half-assed the patch and so the cycle of 'all clear' press was interrupted for a new round of drubbing. Then an attempt was made to re-habillitate Java's image and so now we're at the 'not so fast' rebuttal.

      Meanwhile, it never really lived up to most of it's promises anyway (especially as a browser plug-in) and so it natu

  • Comment removed (Score:5, Insightful)

    by account_deleted ( 4530225 ) on Friday January 18, 2013 @03:10PM (#42627885)
    Comment removed based on user account deletion
    • by sdnoob ( 917382 )

      Perhaps the best course of action would be for Oracle to donate Java to Apache Foundation... but then, the question to ask is: would they even want it?

    • by Tridus ( 79566 )

      Oracle has a lot of stuff that uses Java, so I doubt their plan was "totally screw Java up so we can ditch it."

      Clearly they need to devote serious expertise to hardening it though, or just take the easy route and kill Java in the browser entirely. That's where these problems are all coming from. It wouldn't even be that hard for them, since it's basically a dying method of doing things in the browser anyway.

  • by mark-t ( 151149 ) <markt.nerdflat@com> on Friday January 18, 2013 @03:12PM (#42627915) Journal
    While admittedly this could reasonably qualify as news for nerds, the exploits that are being discovered in Java these days are happening with such rapidity now that it truly seems like a complete waste of time and effort to report them all individually. They are so frequent now as to border on spam.
  • I'm not familiar with the architecture, so I have a hard time understanding why this is so difficult. Many C programmers including myself have written simple stack machines that have an "instruction set". It's trivial to separate safe instructions from dangerous ones

    One instruction might be 32-bit unsigned addition that rolls over without throwing an exception. Perfectly safe, as long as you can live with the results.

    Another instruction might be "open file". Lots of opportunity for mischief there.

    So. I

    • by Tridus ( 79566 )

      I'd surmise (since I'm nothing resembling a sandbox expert) that one of the problems is that the sandbox is built to allow a lot of those "dangerous" activities if the applet is signed and asks for permission to do them. It's not a total block.

      When the code to do it is in there somewhere, apparently there's a lot of edge cases to find ways to get to it.

  • by mandark1967 ( 630856 ) on Friday January 18, 2013 @03:36PM (#42628191) Homepage Journal

    Adobe is gonna get jealous.

  • by overunder ( 2504886 ) on Friday January 18, 2013 @03:41PM (#42628243)
    I understand how a sandbox vulnerability could lead to malware being installed on the machine. But that malware still has to then exploit an OS-level security hole, right? The reports make it out that somehow the Java vulnerability allow complete take over of the machine. So I'm confused why the Win7, OSX, etc Access Control mechanism doesn't prevent the potential damage. Or is this specifically targeting users who for example are logged in as admin on a Win box and have explicit approval of system changes via ACL disabled?
  • by diarrhea-uh-uh ( 1373577 ) on Friday January 18, 2013 @03:46PM (#42628327)
    So sick of these headlines. Java is fine, it's the barely-used-these-days plugin that's the problem. I expect non-techy sites to omit that detail, but come on /. For those preaching that Java should be donated to Apache, give me a break. It's at the core of all "Enterprise Applications'" tech stack. Never gonna happen, nor should it. Best solution would be to decouple the plugin from the Java install and no longer shove it down people's throats.
    • Java is fine, it's the barely-used-these-days plugin that's the problem.

      That's right, the problem is the plugin that virtually no one uses which, according to Kaspersky, is responsible for at least 50% of infections on Windows (and also gave the Mac world their first widespread trojan, Flashback). It's just a good thing so few people use it. It's not like it ships with some new computers or anything.

      I'm not suggesting that the major problems with the Java platform are anywhere other than relating to the plugin, but it's pretty disingenuous to say that no one has it. This tim

      • by afgam28 ( 48611 )

        You're confusing "have" with "use". You can have something installed that you don't use. Many people have the Java applet plugin installed, but few actually use it.

        Knowing this, try reading the gp post again and you'll see it makes perfect sense.

  • by onyxruby ( 118189 ) <onyxruby&comcast,net> on Friday January 18, 2013 @03:51PM (#42628377)

    I've said time and time again that Oracle doesn't get security, they just don't. They have been pulling things like this for a very long time. I never could have imagined saying this 10 years ago or so, but Oracle, you need to look at Microsoft for some pointers on handling security. Since you probably not willing to do that, I'll spell it out for you:

    When you find out about a notable security flaw you need to have a patch ready to go within 60 days.
    Meaningful notification. The everyday hacks that run IT need to have reasonable notification of security flaws.
    Workarounds. If you can't fix it, that's fine, but give me a workaround or I'm going to start uninstalling your product.
    How does it the flaw work? If you can't tell me how it works it means I have to reverse engineer it myself and this annoys me.
    The difference between theoretical flaws and something that is broken beyond saving is typically 8-10 years.
    The bad guys make a lot of money by counting on you dismissing security concerns.
    You need to make it easier to administer updates to your products.
    You need to make it easier to limit updates to your products. Why does Java 6 automatically update to 7? This is a bad, bad thing.

    From a security standpoint I can't think of anything I would wish for more than the death of Java. Every chance I have to get rid of Java I put in my two cents to do exactly that.

  • ... these updates and stuff are not fun.

  • Java is not broken (Score:5, Interesting)

    by zmooc ( 33175 ) <{ten.coomz} {ta} {coomz}> on Friday January 18, 2013 @04:22PM (#42628701) Homepage

    The only thing broken here is the Java browser plugin made by Oracle, which has no use whatsoever outside of museums. Java is not broken.

    • The only thing broken here is the Java browser plugin made by Oracle, which has no use whatsoever outside of museums.

      It sounds like there are quite a few people getting very good use out of the plugin, actually. Not Oracle's "customers", per se, but nonetheless they obviously appear to enjoy it.

  • These Java exploit announcements are becoming too frequent.... at some point it stops being news and starts being a waste of bandwidth.

Get hold of portable property. -- Charles Dickens, "Great Expectations"

Working...