40

Why is the Java plugin (JRE) is disabled in Chrome? It is some security concern?

From official Java website:

Chrome no longer supports NPAPI (technology required for Java applets) The Java plug-in for web browsers relies on the cross platform plugin architecture NPAPI, which has been supported by all major web browsers for over a decade. Google's Chrome version 45 (scheduled for release in September 2015) drops support for NPAPI, impacting plugins for Silverlight, Java, Facebook Video and other similar NPAPI based plugins.

But anyone knows why? How it could be dangerous for Chrome user with latest version of Java JRE installed?

  • 1
    When posting quotes, please include a link to the source in the future. – Anders Jun 13 '16 at 8:55
  • 8
    You have answered your question: because Java plugin uses NPAPI and Chrome no longer supports it. – gronostaj Jun 13 '16 at 14:12
  • 7
    Though the official reason sounds good, my personal suspicion is that the fallout between Google and Oracle over Android had much more to do with it than anyone wants to admit. – Devsman Jun 13 '16 at 14:24
  • 2
    Why Java disabled? in first place "why Flash and Java are enabled?" Unless I trust really much a site I even disable Javascript (well in reality I have a desktop short cut for the browser without Javascript) – GameDeveloper Jun 13 '16 at 17:12
  • 1
    @Devsman If it was just Java, your argument might be plausible, but Google is going after all plugins (and so is Mozilla). Silverlight, Acrobat Reader, shockwave, unity, quicktime, real player, etc. have all been hit by the same ban hammer. They were all widely installed and at least occasionally used by large numbers of people over the years. All provided things that couldn't be done in the browser directly 5-20 years ago; but which are either doable by browser intrinsics or HTML5 directly these days... – Dan Neely Jun 14 '16 at 14:25
61

Why is Java disabled in Chrome? It is some security concern?

The reasons prompting the disabling of NPAPI, and therefore Java, include the following according to the Chromium Blog:

  • Increased security
  • Increased speed
  • Increased stability
  • Reduction in code complexity
  • Reduction in crashes
  • Reduction in hangs
  • Lack of support for mobile devices

Note:

  • Firefox is also dropping support for NPAPI - See NPAPI Plugins in Firefox:

    Plugins are a source of performance problems, crashes, and security incidents for Web users.

    Mozilla intends to remove support for most NPAPI plugins in Firefox by the end of 2016.


How it could be dangerous for Chrome users with latest version of Java JRE installed?

Short answer: Zero Day Exploits.

Another source for vulnerabilities is the fact that Java hasn’t released an automatic updater that doesn’t require user intervention and administrative rights. For example, Google Chrome and Flash Player have. This feature allows users to get automatic updates without being prompted to take action, making updates easier.

For lack of an automatic updates system, many users ignore Java updates and even fear installing them, because of malware that used Java updates as an infection vector in the past or similar experiences.

Just know that all these vulnerabilities are what cyber criminals thrive on.

...

Data extracted from our own database confirms that Java is the second biggest security vulnerability that requires constant patching, after Adobe’s Flash plugin.

In 2015 alone, we’ve already deployed 105925 patches for Java Runtime Environment for our clients.

enter image description here

Read the rest of the article for a detailed explanation and commentary.

Source Why are Java’s Vulnerabilities One of the Biggest Security Holes on Your Computer?


The Final Countdown for NPAPI

Last September we announced our plan to remove NPAPI support from Chrome, a change that will improve Chrome’s security, speed, and stability as well as reduce complexity in the code base.

Source The Final Countdown for NPAPI


Saying Goodbye to Our Old Friend NPAPI

NPAPI’s 90s-era architecture has become a leading cause of hangs, crashes, security incidents, and code complexity. Because of this, Chrome will be phasing out NPAPI support over the coming year. We feel the web is ready for this transition. NPAPI isn’t supported on mobile devices, and Mozilla plans to make all plug-ins except the current version of Flash click-to-play by default.

Source Saying Goodbye to Our Old Friend NPAPI

  • 47
    The Java installer itself is a vector for crapware as well. The daily Java security update requires you to comb through every page of the installer to make sure Oracle hadn't bundled in some new MacAffee craplet. – user48420 Jun 13 '16 at 16:57
  • 2
    @JS. Maybe I'm missing something but personally I've never seen Java installer offer to install anything else besides Java. Real reason why Google disables Java? Google doesn't want developers to write software for anything else than what they have control over. – Malcolm Jun 13 '16 at 19:00
  • 14
    @Malcom: take another look. java.com tells you how to disable sponsor offers; therefore, they are including sponsor offers that people wish to disable. java.com/en/download/faq/disable_offers.xml – Ross Presser Jun 13 '16 at 19:08
  • 3
    @RossPresser if you download from oracle you don't get the sponsor offers. – DavidPostill Jun 13 '16 at 20:05
  • 7
    @Malcolm from 2011-2015 the official Java installer from Oracle included this: java.com/ga/images/en/ask_offer.jpg – hobbs Jun 14 '16 at 7:27
4

As explained by Google, the Netscape Plug-in API (NPAPI) was needed in the early days of web browsers to extend their features. Unfortunately, it provided access to the underlying machine. Thus, if the plugin contained a vulnerability and an attacker exploited it, the attacker bypassed the sandboxing of the browser and had access to the machine.

Such attack vectors has been heavily used in the past to infect machines, leading to the advice saying that you should disable Java on your browser. Many features provided by Java plugins are now included by the browser itself (e.g. HTML5) with better performance and security or with extensions running in a sandbox (e.g. NaCL). That's why the decision to no longer support Java plugins has been made: high risk, but no real need for it.

2

For a long time there has been a move away from Java, along with other plugins like Flash or Silverlight, on the web. One of the goals with HTML5 was to create a framework where plugins are not needed (hence tags like <audio> and <video>). By now the only reason to support Java is for compatibility with legacy systems that should probably have been retired by now anyway.

So why are plugins like Java a security threat? Because history has proven that there will always be a steady stream of security holes allowing for a multitude of exploits. It is just inherently harder to secure a VM running Java bytecode than it is to sandbox an interpreted script language like JavaScript. Just have a look at these statistics.

As you say, it is a good practice to keep your plugins updated. But that is not enough. First, a lot of people don't. It was recently revealed that even the Swedish equivalent of NSA was running outdated Java plugins with known security vulnerabilities. If they can't get it right, do you expect the average home user to do so? Second, there is no way you can protect yourself from zero days. No matter how fast Oracle produce patches, you will be at risk.

Even Oracle have acknowledged that the era of Java applets is over. From Ars Technica (Jan 2016):

The much-maligned Java browser plugin, source of so many security flaws over the years, is to be killed off by Oracle. It will not be mourned.

Oracle, which acquired Java as part of its 2010 purchase of Sun Microsystems, has announced that the plugin will be deprecated in the next release of Java, version 9, which is currently available as an early access beta. A future release will remove it entirely.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.