Bug 1328210 - (CVE-2016-3427) CVE-2016-3427 OpenJDK: unrestricted deserialization of authentication credentials (JMX, 8144430)
CVE-2016-3427 OpenJDK: unrestricted deserialization of authentication credent...
Status: CLOSED ERRATA
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
unspecified
All Linux
urgent Severity urgent
: ---
: ---
Assigned To: Red Hat Product Security
impact=critical,public=20160419,repor...
: Security
Depends On:
Blocks: 1324915
  Show dependency treegraph
 
Reported: 2016-04-18 13:55 EDT by Tomas Hoger
Modified: 2016-07-18 09:57 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
It was discovered that the RMI server implementation in the JMX component in OpenJDK did not restrict which classes can be deserialized when deserializing authentication credentials. A remote, unauthenticated attacker able to connect to a JMX port could possibly use this flaw to trigger deserialization flaws.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-05-11 11:53:55 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Tomas Hoger 2016-04-18 13:55:21 EDT
It was discovered that the RMI (Java Remote Method Invocation) server implementation in the JMX (Java Management Extensions) component of OpenJDK did not restrict which classes can be deserialized when deserializing authentication credentials.  A remote unauthenticated attacker able to connect to a JMX port could possibly use this flaw trigger deserialization flaws.
Comment 1 Tomas Hoger 2016-04-19 15:08:02 EDT
Related note in Oracle JDK release notes:

  New attribute for JMX RMI JRMP servers specifies a list of class names to
  use when deserializing server credentials

  A new java attribute has been defined for the environment to allow a JMX
  RMI JRMP server to specify a list of class names. These names correspond
  to the closure of class names that are expected by the server when
  deserializing credentials. For instance, if the expected credentials were
  a List<string>, then the closure would constitute all the concrete classes
  that should be expected in the serial form of a list of Strings.

  By default, this attribute is used only by the default agent with the
  following:

  {   
    "[Ljava.lang.String;",   
    "java.lang.String" 
  } 

  Only arrays of Strings and Strings will be accepted when deserializing the
  credentials. 

  The attribute name is:

  "jmx.remote.rmi.server.credential.types"

  The following is an example of a user starting a server with the specified
  credentials class names:

  Map<String, Object> env = new HashMap<>(1);
   env.put ( 
   "jmx.remote.rmi.server.credential.types",
     new String[]{
       String[].class.getName(),
       String.class.getName()
     }
   );
   JMXConnectorServer server
     = JMXConnectorServerFactory.newJMXConnectorServer(url, env, mbeanServer);

  The new feature should be used by directly specifying: 

  "jmx.remote.rmi.server.credential.types" 

  JDK-8144430 (not public)

http://www.oracle.com/technetwork/java/javase/8u91-relnotes-2949462.html
http://www.oracle.com/technetwork/java/javaseproducts/documentation/javase7supportreleasenotes-1601161.html#R170_101
http://www.oracle.com/technetwork/java/javase/documentation/overview-156328.html#R160_115
Comment 2 Tomas Hoger 2016-04-19 16:59:24 EDT
Public now via Oracle Critical Patch Update - April 2016.  Fixed in Oracle Java SE 6u115, 7u101, and 8u91.

External References:

http://www.oracle.com/technetwork/topics/security/cpuapr2016-2881694.html#AppendixJAVA
Comment 3 errata-xmlrpc 2016-04-20 15:35:55 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6

Via RHSA-2016:0651 https://rhn.redhat.com/errata/RHSA-2016-0651.html
Comment 4 errata-xmlrpc 2016-04-20 15:36:32 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2016:0650 https://rhn.redhat.com/errata/RHSA-2016-0650.html
Comment 5 errata-xmlrpc 2016-04-21 09:46:50 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 5
  Red Hat Enterprise Linux 7

Via RHSA-2016:0676 https://rhn.redhat.com/errata/RHSA-2016-0676.html
Comment 6 errata-xmlrpc 2016-04-21 10:43:37 EDT
This issue has been addressed in the following products:

  Oracle Java for Red Hat Enterprise Linux 6
  Oracle Java for Red Hat Enterprise Linux 7

Via RHSA-2016:0677 https://rhn.redhat.com/errata/RHSA-2016-0677.html
Comment 7 errata-xmlrpc 2016-04-21 10:44:38 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6

Via RHSA-2016:0675 https://rhn.redhat.com/errata/RHSA-2016-0675.html
Comment 8 errata-xmlrpc 2016-04-21 10:59:11 EDT
This issue has been addressed in the following products:

  Oracle Java for Red Hat Enterprise Linux 7
  Oracle Java for Red Hat Enterprise Linux 5
  Oracle Java for Red Hat Enterprise Linux 6

Via RHSA-2016:0679 https://rhn.redhat.com/errata/RHSA-2016-0679.html
Comment 9 errata-xmlrpc 2016-04-21 11:00:08 EDT
This issue has been addressed in the following products:

  Oracle Java for Red Hat Enterprise Linux 5
  Oracle Java for Red Hat Enterprise Linux 6
  Oracle Java for Red Hat Enterprise Linux 7

Via RHSA-2016:0678 https://rhn.redhat.com/errata/RHSA-2016-0678.html
Comment 10 Tomas Hoger 2016-04-21 15:49:18 EDT
OpenJDK8 upstream commit:

http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/32f64c19b5fb
Comment 11 errata-xmlrpc 2016-04-29 13:51:06 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7 Supplementary
  Red Hat Enterprise Linux 6 Supplementary

Via RHSA-2016:0701 https://rhn.redhat.com/errata/RHSA-2016-0701.html
Comment 12 errata-xmlrpc 2016-04-29 13:52:24 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 5 Supplementary

Via RHSA-2016:0702 https://rhn.redhat.com/errata/RHSA-2016-0702.html
Comment 13 errata-xmlrpc 2016-05-02 09:12:38 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6 Supplementary
  Red Hat Enterprise Linux 5 Supplementary

Via RHSA-2016:0708 https://rhn.redhat.com/errata/RHSA-2016-0708.html
Comment 14 errata-xmlrpc 2016-05-03 14:36:05 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7 Supplementary

Via RHSA-2016:0716 https://rhn.redhat.com/errata/RHSA-2016-0716.html
Comment 15 errata-xmlrpc 2016-05-09 10:05:34 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7
  Red Hat Enterprise Linux 5
  Red Hat Enterprise Linux 6

Via RHSA-2016:0723 https://rhn.redhat.com/errata/RHSA-2016-0723.html
Comment 16 errata-xmlrpc 2016-05-11 10:09:45 EDT
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6 Supplementary

Via RHSA-2016:1039 https://rhn.redhat.com/errata/RHSA-2016-1039.html
Comment 17 errata-xmlrpc 2016-07-18 09:57:44 EDT
This issue has been addressed in the following products:

  Red Hat Satellite 5.6
  Red Hat Satellite 5.7

Via RHSA-2016:1430 https://access.redhat.com/errata/RHSA-2016:1430

Note You need to log in before you can comment on or make changes to this bug.