Follow Slashdot stories on Twitter


Forgot your password?
Java Bug Oracle Security

Polish Researcher: Oracle Knew For Months About Java Zero-Day 367

dutchwhizzman writes "Polish security researcher Adam Gowdiak submitted bug reports months ago for the current Java 7 zero-day exploit that's wreaking havoc all over the Internet. It seems that Oracle can't — or won't? — take such reports seriously. Is it really time to ditch Oracle's Java and go for an open source VM?"
This discussion has been archived. No new comments can be posted.

Polish Researcher: Oracle Knew For Months About Java Zero-Day

Comments Filter:
  • Duh (Score:5, Funny)

    by binarylarry ( 1338699 ) on Thursday August 30, 2012 @09:31AM (#41177551)

    You think Uncle Larry gives a fuck?

    No. Now pay him his money.

  • Seriously, it isn't even like Java is a particularly good language/environment. Frankly, I would rather deal with architecture issues and multiple platforms and just use C/C++ than put up with Java's issues.
    • by binarylarry ( 1338699 ) on Thursday August 30, 2012 @09:40AM (#41177637)

      You sound like someone who shouldn't be giving technical advice.

      C/C++ has advantages over Java, just like Java has advantages over C/C++

      Saying you should use one over the other for every purpose is foolhardy.

      • by Anonymous Coward on Thursday August 30, 2012 @09:48AM (#41177683)

        Hey Larry, what's your surname?

      • Other than allowing lazy people to kinda get stuff done what are the advantages of Java over C/C++?
        Are any of those advantages big enough out weigh the elephant in the room which is Oracle not giving one shit about Java and the massive number of security holes?

    • Apparently it wasn't Oracle ignoring the exploit, its just that the exploit happened to be found well outside the standard Java quarterly patch release. Pesky kids, if only they'd waited until a week or so before patch tuesday, everything would have been fine - I mean, you just cannot imagine the paperwork involved in moving that patch release date!

      Anyway, I agree Java is not the best environment - if you want performance and resource efficiency, you use C/C++. If you want developer productivity you use any

      • by KlomDark ( 6370 ) on Thursday August 30, 2012 @10:59AM (#41178457) Homepage Journal

        Have you worked with C# under the .NET 4.x framework now that they've added Entity Framework to it?

        It is so much more efficient that any other data access abstraction I've ever seen. It even makes Hibernate/NHibernate look like a lame hack.

        I am able to do extremely complex things with 10% of the amount of code I used to have to write.

        Microsoft might be making a LOT of mistakes lately, but Entity Framework is not one of them. I don't know if I'll ever have the patience to use another language again - C# with Entity Framework is that much better.

    • by NettiWelho ( 1147351 ) on Thursday August 30, 2012 @09:56AM (#41177783)
      I'm currently doing my internship at the IT dept. of a joint-municipal group responsible for about 15k windows computers(mostly for schools, vocational schools and a uni of applied sciences) and today the department heads made the decision to uninstall java from all machines except those in lab networks disconnected from outside world.
    • Out of sheer curiosity, what are the C/C++ alternatives to JEE and associated frameworks/technologies/containers (e.g. EJBs, JSPs, JSFs, Spring, Hibernate, Struts, GWT, Tomcat, JBoss, etc)?

      • by Greyfox ( 87712 ) on Thursday August 30, 2012 @10:14AM (#41177979) Homepage Journal
        Native development with applications that retain their state from moment to moment. Now... you kids might have trouble wrapping your heads around this, but imagine for a second that you didn't have a web browser. Ok take a deep breath and don't freak out. Now, you use a GUI library like GTK or QT to provide the interface, instead. The user runs your application on his local system, and all or most of the data is stored locally. So instead of ALL those things, you'd use a user interface library like GTK or QT. They're kind of like Swing or AWT.

        So I know what you're thinking; "Well then how do I talk to a database?" Well as it turns out, every database has a library that local applications can use to send SQL queries to the database. It's true! You can also roll a socket protocol to talk to damn near anything else on the internet. You don't even have to use XML if you don't want to!

        Now, these applications are linear in execution, so you don't have to maintain a session state or anything like that. When you're in the application, you're just wherever you are in the application. This might take some getting used to.

        Now I know what else you're thinking; "But Java is write once run everywhere!" Well your IT department has the same version of Windows installed on every system in your company, so what's the problem? If you use cross-platform libraries like Boost, GTK or QT, odds are good you'll just be able to recompile your binaries if you need to support Linux or OSX, anyway.

        • Yes, clearly the answer to someone asking what we can replace specific web technologies (the one thing Java is good at) is to suggest building local apps (one of the things C/C++ is good at).

          Hey, can you compile a version of your replacement app that runs on iOS? Android? Windows? Linux? OSX? FreeBSD?

          If you answered no to any of those, *bzzt* sorry, your solution has lost potential customers and is rejected out of hand.

          • A program that tries to do all things does them all poorly.
          • by Pieroxy ( 222434 ) on Thursday August 30, 2012 @10:44AM (#41178283) Homepage

            You have a far bigger problem with local apps. The problems are your APIs. You have (presumably) a web server somewhere serving data to your local apps. And every time you will release a new version of your app, you will also release a new version of your API. But you also should remember to keep the old one working, because guess what: Some people will upgrade, and then some will not.

            All of a sudden, you have your server and a gazillion apps out there, some more or less buggy than the others.

            THIS is the biggest benefit of a web based app, not the reach of the 1205 users of FreeBSD. You have a bug? Fix it. Instantly, no one has a bug anymore. THAT is convenient.

        • by geekoid ( 135745 )

          "Well your IT department has the same version of Windows installed on every system in your company, so what's the problem?"
          have you ever worked for a large organization? Ever looked t costs of this?

          Web applications have a lot of advantages over stand alone. It's a matter of risk/cost.

          And I have been a software engineer for decades. Not that it makes me right or wrong, only that I understand the pre-internet software world as well as the internet transition phase.

      • by gbjbaanb ( 229885 ) on Thursday August 30, 2012 @10:20AM (#41178033)

        good honest work :)

        All those things are artifacts of how crappy java is, in order to get anything done you need a metric ton of framework crap slapped on, and this is why people say "java is fast to develop in" - they mean, the frameworks make it faster to develop stuff, as long as you're developing exactly the kind of thing those frameworks are designed for. C/C++ world tends to have libraries that provide you with functionality you then plug in to your code, rather than having to code the way the framework wants you to (roughly).

        You could use Ruby on Rails and get much better developer productivity, or Python, or node.js

        As for C++, we don't tend to use EJBs - straight forward classes are fine, though you could use COM if you're on Windows (or COM+). The JSP frameworks are covered by either Microsoft's new Casablanca project or various web-server libraries like cppCMSS. C++ doesn't have much in the way of ORMs, preferring faster access to DB code but there are still plenty, eg ODB []

        For example, you need tomcat to host your java beans and pages, but C++ would just run off Apache - either as a mod_xxx module, or via pass though to a running service. A C++ developer wouldn't necessarily embed a webserver into his code, instead expecting to reuse the existing web server infrastructure.

        Generally the best place to start looking for C++ libraries is Boost. From there, just use google for what you need.

    • As someone pointed out in the last story it is the IE 6 that wont go away, or at least the Cobol of the 21st century.

      Every banking site requires it so it can wrap win32 com objects like excel spreadsheets for lines of credit reportsthat can be cut and pasted using security holes from 1.4.1 or some ancient version. So java is used to activeX like functionality with no security controls and is a requirement for anyone in finance. Some support java 6 but have to include some security holes so they can access w

  • by Anonymous Coward on Thursday August 30, 2012 @09:49AM (#41177703)

    This is the programming language that still bundles the "Ask Toolbar" crapware with their installer. Nuff said.

    • This is the programming language that still bundles the "Ask Toolbar" crapware with their installer. Nuff said.

      It asks you whether you want to install the Ask Toolbar, defaulting to yes, of course, every time you install a security update.

  • by Bogtha ( 906264 ) on Thursday August 30, 2012 @09:50AM (#41177713)

    As a developer, I totally understand the problems with holding software developers liable for security vulnerabilities. But when it comes to cases like this, I can't help but think there should be some legal liability for mega-corporations knowingly distributing vulnerable products.

  • No (Score:5, Interesting)

    by ExE122 ( 954104 ) * on Thursday August 30, 2012 @09:52AM (#41177739) Homepage Journal

    This is not a sign that you need to start ditching Oracle. The reason more security loopholes are discovered in Oracle are because it is the most widely used JVM. Other VMs will still have a ton of issues, they just don't get attacked as much (yet).

    A similar argument used to be debated years ago with Apple v Microsoft... Apple toted it's superior security over MS when in reality, nobody gave a crap about attacking Mac users which only made up 10% of the market. Once they gained popularity, they started getting hit more as well.

    The real scary part is that MS at least takes its security flaws somewhat seriously. Oracle seems to have smugly ignored Mr. Gowdiak. He can now smugly turn around and give them a big "I told you so!"

    • Re:No (Score:5, Insightful)

      by X0563511 ( 793323 ) on Thursday August 30, 2012 @10:13AM (#41177965) Homepage Journal

      The real problem here is the quarterly patch cycle that seems to ignore the severity of security bugs. If you want to do a quarterly cycle that's fine - but you need to make exceptions for security bugs.

    • "A similar argument used to be debated years ago with Apple v Microsoft... Apple toted it's superior security over MS when in reality, nobody gave a crap about attacking Mac users which only made up 10% of the market. Once they gained popularity, they started getting hit more as well."

      Really. When did this happen? The claim that Microsoft has more viruses because they have more market share is patently ridiculous, if only becaue Linux has a huge market share on the targets that hackers really want, to wit

      • by tnk1 ( 899206 ) on Thursday August 30, 2012 @11:13AM (#41178635)

        First of all, I think the comparison was Apple to Microsoft, not Linux to MS.

        Second, when you talk desktop to server, you are talking apples (heh) to oranges. Desktops are important hosts for viruses because of what they are used for and who they are used by. Which is to say they tend to run on-demand applications and web browsing, and are run by anyone, usually amateurs who are easy to socially engineer.

        A server is going to be run by professionals who operate services that are either developed in-house, or purchased and supported professionally. They will not frequently install new software, and that will usually be vetted carefully, if only because they will tend to spend money on purchase or support. You can still socially engineer professionals, but you will tend to have a lot harder time doing it, as they usually receive training covering that very contingency.

        Consequently, while server exploits definitely exist, exploits that are directly related to a server tend to be fewer and more difficult to make use of where they exist, so Linux is going to have a much lower exploit penetration simply by virtue of being used mostly as a server, despite its market share of the server business. Hence, the comparison of the Windows market share, which is primarily desktop computing, to the Linux market share, which is mostly servers, is going to show significant deviation based on their usage patterns. That invalidates a direct comparison of their market shares in this instance and fatally undermines the argument.

        Desktop market share is a big deal for viruses particularly if it is as high as that for Windows. The argument that Microsoft only cares about money doesn't cut it when you'd consider that Apple only cares about making money as well. MacOS is not a community project like most distributions of Linux, it may have more links to Open Source, but that doesn't mean that Apple is immune to profit motive, as we well know. You may well argue that Microsoft ignored the issues in favor of their vision of interoperability and control, but simple profit motive alone is not going to explain the differences without further elaboration.

        Apple did and does have a smaller market share. It was also used, primarily, for purposes like design until it became more popular for developers in the last few years. While Apple probably has better security, part of which is inherited from it's UNIX roots, this is not going to be sufficient to deter malicious coders if there is interest in penetrating the MacOS share of PCs. In short, Apple users are a minority who don't really have a usage pattern that will be useful for most exploit developers. This is a real effect which decreases number and extent of exploitation and it *does* make using that platform safer, but it is a smokescreen, not a shield against future attacks.

        You could make more of an argument for the security of an iOS specifically than Apple in general. However, even that security model was built more on the need to generate revenue than it was to prevent infections.

        So, market share does matter significantly. While amateur hackers may well like the challenge of cracking something like a Mac or an Amiga for that matter, the more professional exploiters are going to spend time on the platform that they can generate the most effect from for the smallest initial investment. These professional exploiters will be more effective and more persistent than amateurs, which means they will tend to keep at exploits until they work well enough for significant penetration. This is a primary reason that Windows is riddled with exploits and would continue to be riddled with them even with better security measures.

    • by geekoid ( 135745 )

      It isn't the loopholes, its the lack of response from Oracle that's the issue.

    • I don't honestly know about OpenJDK/IcedTea (The open-source reference implementation of Java.), but other open-source projects, even though they get a fair share of vulnerabilities, fix them quickly (look at openssl, or Linux kernel). Oracle Java does NOT fix security bugs quickly. That's the problem.
  • IBM (Score:4, Interesting)

    by Spiked_Three ( 626260 ) on Thursday August 30, 2012 @09:54AM (#41177761)
    Whatever happened to them? Didn't they at one time have a Java implementation?

    I'm not ready to give up on Java. It is not because I think it's the best, I still think C# beats it as a language, but at times when a client requires non-microsoft, it is my only choice for a modern language. Yeah, I know C++11, I've looked at it quite a bit, and it is better than it was, but as long as it needs header files, I don't put it into a modern language category.

    So, anyhow, Eclipse seems to have really gone in the dumpster as far as quality lately, and IBM is silent as a Java leader too. Is IBM bailing on Java? I see the have a new big push to virtualization to a level that makes sense, by using a mainframe. Maybe they have (bailed). So what post java, other than c#, is available?
    • Re:IBM (Score:5, Informative)

      by Simon Brooke ( 45012 ) <> on Thursday August 30, 2012 @10:21AM (#41178039) Homepage Journal

      Whatever happened to them? Didn't they at one time have a Java implementation?

      IBM's Java work is now part of [] OpenJDK []. How close OpenJDK is to Oracle Java and whether it shares this exploit I don't know (although the OpenJDK home page says they are '...based largely on the same code'), but if it does it should be patchable.

      I'm not ready to give up on Java. It is not because I think it's the best, I still think C# beats it as a language, but at times when a client requires non-microsoft, it is my only choice for a modern language. Yeah, I know C++11, I've looked at it quite a bit, and it is better than it was, but as long as it needs header files, I don't put it into a modern language category.

      I could happily give up Java, but I wouldn't willingly give up Clojure []. There's more (and better) languages for the JVM [] than just Java.

    • Re: (Score:2, Informative)

      by Anonymous Coward


    • by robmv ( 855035 )

      Java is not the best language out there, but it has a good library of APIs and 3rd party libraries that put any other business application friendly language/runtime below it. You want a better less verbose language? running on the JVM, just try one of the many. I personally recomment Scala

      Note: I am really tired of news like this when people start bashing Java instead of the real problem that is Oracle slow response, IcedTea (and OpenJDK variant used by many Linux distros is already pushing updates for this

    • by Viol8 ( 599362 )

      "but as long as it needs header files, I don't put it into a modern language category."

      Sorry , what? Where do you propose putting common definitions then shared by many modules? Or do you seriously think the moronic everything-in-a-class approach of java is a sensible way to do things?

      • by godefroi ( 52421 )

        I'm not sure what you're saying. Having the "common definitions" inside a class or outside a class is orthogonal to requiring header files. Why can't "common definitions" simply be derived from the source files, as they are in pretty much all "modern" languages?

    • So you think web services are non-modern either, as they use a header file - otherwise known as a WSDL.

      That's the way to think of C++ headers, like interface definitions for the implementation cpp files. For that, they work great, so I actually prefer them over a large file with definitions and implementation all listed in it, that you *need* an IDE to figure out what is in each class. At least with C/C++ you can look at the header and see quickly and easily.

      • by godefroi ( 52421 )

        Except that the programmer doesn't (generally) have to create and manage the WSDL file, it's generated on-demand by the framework or toolkit in use. If the header files were generated automatically behind the scenes, and included where necessary all invisibly, then they'd be great.

    • Re:IBM (Score:4, Interesting)

      by AwesomeMcgee ( 2437070 ) on Thursday August 30, 2012 @10:48AM (#41178319)
      I must say, and take a deep breath before reading this so your don't laugh yourself hoarse, but after you're done laughing listen to me. I'm an ardent C# developer for years, but I have found another extremely high level modern language that I would use in place of C# in a non-microsoft shop... Haskell. I know I know.. "academic bla bla bla" whatever, seriously, it's garbage collected, strongly typed, loaded with type inference to help you develop faster, has tons of packages for most things you may want to do, has *nix and windows compilers which will build the same code (you'll just have to swap out the modules you use for FFI to librarys if the dependent libs like UI you use are different).

      Though I preface that with, while people have done UI's in Haskell, the idea to me is mindboggling, and I would just stick with UI in HTML using Haskell to serve web-pages in a non-microsoft shop. I wouldn't use java for UI in a non-microsoft shop anyway, java UI is absolutely gnarly bad and we all know it. If forced to do a desktop UI app in non-microsoft I would immediately be looking at tcl/tk, yes- ugly, but no one can argue with the fact that it always performed very well.
    • by godefroi ( 52421 )

      What about the D programming language? Object-oriented, memory management, C ABI compatible, compiles down to native code and requires no runtime components, I don't believe. There's a GCC-based compiler, an LLVM-based compiler, and the reference implementation.

    • Yeah, I know C++11, I've looked at it quite a bit, and it is better than it was, but as long as it needs header files, I don't put it into a modern language category.

      This is the most bizarre statement I've seen here today. Can you explain your reasoning?

    • by mark-t ( 151149 )

      .... but as long as [C++] needs header files, I don't put it into a modern language category.

      From a usage perspective, there is no real difference between header files and import statements. The only significant difference between them, in fact, is in their creation, where a programmer must explicitly separate the interface from the implementation.

      As it's entirely possible to write software that generates header files from an implementation (with suitable markup), and this phase can be added to the in

    • Re:IBM (Score:5, Insightful)

      by eyrieowl ( 881195 ) on Thursday August 30, 2012 @11:11AM (#41178621)

      This is something I struggle with. Lots of people would reply "python", but I think they're off their rocker. Yes, python is probably just fine for a lot of website development, and yes, I know some enterprises are using it heavily, but when you dig into it, it's really a hacked up POS that carries WAY too much of its evolutionary baggage. Java certainly has a bit of that as well, mostly in the bundled libraries, but they are much more consistently architected than the Python libraries. Plus, the lack of true multi-threading support is just...unconscionable for a modern language, I think. Yeah, it simplifies things for the hoi polloi, but that should hardly be the standard we aspire to.

      Unfortunately, the only languages I know which have the features I expect from the next great modern language are all research languages at this point. What I'd really like: Start with Java (convenient syntax that is familiar to many people, and a VM with a lot of important concepts). Go through the standard library and rework it to make it consistent, ditch the older paradigms that still hang around to support backwards compatibility. Rework generics, also ditching compatibility but to improve usefulness. Add support for design-by-contract. Add in language level (not library level) features to support fork-join with support for some mechanism to declare affinity between work units and data so that the VM can optimize thread placement and data placement in memory. Add better built in support for both dynamic class creation and bytecode injection. Add a smart/flexible int/float/number types where the VM will take care of sizing depending on how big the number is, something which can flow up to the Big range without needing to keep track of sizes yourself...and crucially, where the math operations work regardless of number size, efficiently (i.e., under the covers, this would mean allowing for a mutable big integer/decimal). Also add support for primitive collections...but do it in such a way that it's made as transparent as possible. This would probably mean it would allow treating primitives as Objects from a parameter passing perspective, so, say, your Map put method would still be put(K,V), but if you used a map which supported primitives (which would be a lot easier to write with the smart-number facility), it would pass a primitive straight through without any boxing/unboxing.

      I'm sure if I thought a bit longer, I could come up with some other features I'd like to see. Importantly, this language still has a VM...I think that becomes more important for the future, not less, as we move to higher core/processor counts and NUMA becomes a bigger and bigger issue. There will always be a place for lower level coding a-la C/C++; but I think that a higher level language need a VM. And, as with the JVM/CLR, I would want the VM for this language to offer support for running bytecode which could be compiled from a multitude of languages. People who have done work developing those sorts of compilers would probably have suggestions on how that could be even better supported, and I certainly think that input would be important for ensuring that support is done right.

  • by Nyder ( 754090 ) on Thursday August 30, 2012 @10:15AM (#41177985) Journal

    This is why reporting bugs to the software developers is stupid. Post the bug into the public, so they have no choice but to upgrade. Corporations are run by people who want to spend as little as possible to make as much money as possible. They won't patch bugs unless they are forced. They need to be forced.

  • by juancn ( 596002 ) on Thursday August 30, 2012 @10:15AM (#41177987) Homepage
    Oracle is a huge organisation. I mean mindbogglingly huge (think planet Vogon). There is a lot of red tape that you have to cut to get anything done, and in 4 months they're probably still scheduling meetings to figure out if it should be fixed, and when, and by whom.

    Unless an SVP gets involved, it's unlikely that it will be rushed.

  • by GodfatherofSoul ( 174979 ) on Thursday August 30, 2012 @11:16AM (#41178687)

    Same old jokes and criticisms. Reading these posts, you'd think Java was relegated to driving outhouse fans in Siberia and not the #3 language by popularity in the world.

    That being said, the Java *browser* vulnerabilities need to be taken far more seriously. The only exploit that I know I've been hit by was through an unpatched Java install and it was nasty; as in rebuild my laptop from the ground up nasty.

    • by JDG1980 ( 2438906 ) on Thursday August 30, 2012 @11:47AM (#41179081)

      Same old jokes and criticisms. Reading these posts, you'd think Java was relegated to driving outhouse fans in Siberia and not the #3 language by popularity in the world.

      A lot of these problems could be resolved if the Java installer didn't include the browser plugin. That should be a separate download, or at least it should require the user to affirmatively check a box. At this point, Java in the browser is, for most users, little more than a giant security hole. Virtually no legitimate public websites require it.

      • by pnot ( 96038 ) on Thursday August 30, 2012 @12:28PM (#41179541)

        Amen to that. As any /. Java comment thread demonstrates, the chief functionality of the Java browser plugin these days is tarnishing the reputation of the entire Java platform and ecosystem.

        Doubtless there are still websites out there that need the plugin, but I don't remember the last time I saw one. Definitely time to make it opt-in, not opt-out.

  • Zero Day? (Score:4, Insightful)

    by BenSchuarmer ( 922752 ) on Thursday August 30, 2012 @11:23AM (#41178779)
    I don't think that word means what you think it means
  • If you find a security 'sploit in Java, test in OpenJDK/IcedTea and report it to the security teams at Red Hat, Ubuntu and Debian. They are rather less likely to sit on it for months. I notice a fix in OpenJDK came through in Ubuntu this morning.

  • Not a zero day bug (Score:5, Informative)

    by slashkitty ( 21637 ) on Thursday August 30, 2012 @12:09PM (#41179297) Homepage
    It's not a zero day if it was privately submitted over a month before. Zero Day means "a previously unknown vulnerability". It just wasn't public, so they didn't have as much urgency in fixing. Just stop calling it a zero day bug if the developers knew about it before hand.

To write good code is a worthy challenge, and a source of civilized delight. -- stolen and paraphrased from William Safire