Bug 1889271 (CVE-2020-14779)

Summary: CVE-2020-14779 OpenJDK: High memory usage during deserialization of Proxy class with many interfaces (Serialization, 8236862)
Product: [Other] Security Response Reporter: Tomas Hoger <thoger>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: ahughes, java-qa, jvanek, security-response-team
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-10-22 14:21:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1879737, 1879738, 1879845, 1879846, 1879847, 1879997, 1879998, 1879999, 1880001, 1881127, 1881128, 1881129, 1881130, 1899871, 1905093, 1905094, 1905960    
Bug Blocks: 1876666    

Description Tomas Hoger 2020-10-19 08:41:34 UTC
It was discovered that the implementation of the Proxy class in the Serialization component of OpenJDK could trigger an out-of-memory condition when deserializing Proxy class objects with many interfaces.  A specially-crafted input could cause a Java application to use an excessive amount of memory when deserialized.

The patch for this issue adds a new system property jdk.serialProxyInterfaceLimit that can be used to reduce the limit for Proxy interfaces from the default of 65535 and hence better protect against excessive memory usage.

Comment 1 Tomas Hoger 2020-10-20 20:54:46 UTC
Public now via Oracle CPU October 2020:

https://www.oracle.com/security-alerts/cpuoct2020.html#AppendixJAVA

Fixed in Oracle Java SE 15.0.1, 11.0.9, 8u271, and 7u281.

Comment 2 Tomas Hoger 2020-10-20 21:07:31 UTC
Related note in the Oracle Java SE release notes:

core-libs/java.io:serialization
➜ Enhanced Support of Proxy Class

The deserialization of java.lang.reflect.Proxy objects can be limited by setting the system property jdk.serialProxyInterfaceLimit. The limit is the maximum number of interfaces allowed per Proxy in the stream. Setting the limit to zero prevents any Proxies from being deserialized including Annotations, a limit of less than 2 might interfere with RMI operations.

JDK-8236862 (not public)

https://www.oracle.com/java/technologies/javase/15-0-1-relnotes.html
https://www.oracle.com/java/technologies/javase/11-0-9-relnotes.html
https://www.oracle.com/java/technologies/javase/8u271-relnotes.html
https://www.oracle.com/java/technologies/javase/7-support-relnotes.html#R170_281

Comment 12 errata-xmlrpc 2020-10-22 10:50:11 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.1 Extended Update Support

Via RHSA-2020:4306 https://access.redhat.com/errata/RHSA-2020:4306

Comment 13 errata-xmlrpc 2020-10-22 11:06:38 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2020:4305 https://access.redhat.com/errata/RHSA-2020:4305

Comment 14 Product Security DevOps Team 2020-10-22 14:21:14 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2020-14779

Comment 15 errata-xmlrpc 2020-10-22 16:03:18 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2020:4307 https://access.redhat.com/errata/RHSA-2020:4307

Comment 17 errata-xmlrpc 2020-10-22 19:40:08 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.0 Update Services for SAP Solutions

Via RHSA-2020:4316 https://access.redhat.com/errata/RHSA-2020:4316

Comment 18 Tomas Hoger 2020-10-23 21:08:56 UTC
OpenJDK-11 upstream commit:
http://hg.openjdk.java.net/jdk-updates/jdk11u/rev/2a2df11c0684

OpenJDK-8 upstream commit:
http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/0da7153533e6

Comment 25 errata-xmlrpc 2020-10-26 20:00:44 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.0 Update Services for SAP Solutions

Via RHSA-2020:4349 https://access.redhat.com/errata/RHSA-2020:4349

Comment 26 errata-xmlrpc 2020-10-26 20:28:38 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2020:4347 https://access.redhat.com/errata/RHSA-2020:4347

Comment 27 errata-xmlrpc 2020-10-26 21:10:23 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8.1 Extended Update Support

Via RHSA-2020:4352 https://access.redhat.com/errata/RHSA-2020:4352

Comment 28 errata-xmlrpc 2020-10-27 00:34:16 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6

Via RHSA-2020:4348 https://access.redhat.com/errata/RHSA-2020:4348

Comment 29 errata-xmlrpc 2020-10-27 00:40:50 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2020:4350 https://access.redhat.com/errata/RHSA-2020:4350

Comment 31 errata-xmlrpc 2020-12-16 15:19:29 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7 Supplementary

Via RHSA-2020:5586 https://access.redhat.com/errata/RHSA-2020:5586

Comment 32 errata-xmlrpc 2020-12-16 15:21:26 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7 Supplementary

Via RHSA-2020:5585 https://access.redhat.com/errata/RHSA-2020:5585

Comment 33 errata-xmlrpc 2021-02-16 07:39:37 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2021:0530 https://access.redhat.com/errata/RHSA-2021:0530