SpiderLabs Blog

Oracle Critical Patch Update July 2018 and Security Alert for CVE-2018-3110

Written by Vladimir Zakharevich | Aug 27, 2018 10:16:00 AM

On July 17th 2018 Oracle released Critical Patch Update (CPU) in accordance with their predefined schedule. That collection of patches officially included fixes for 3 security vulnerabilities for Oracle Database Server versions 11.2.0.4, 12.1.0.2, 12.2.0.1, 18.1, 18.2 on multiple platforms.

On August 10th 2018 Oracle published Security Alert for CVE-2018-3110 and patches that come along with it. Security Alert revealed that July 2018 CPU already fixed CVE-2018-3110 for some of the affected database versions and platforms, while patches released on August 10th fixed specified vulnerability on Oracle Database Server versions 11.2.0.4 and 12.2.0.1 on Windows. CVE-2018-3110 is a vulnerability in Java VM component of Oracle Database, therefore only Database Servers with Java VM installed are vulnerable and require patching.

CVE-2018-3110 was not publicized during July 2018 CPU release because not all vulnerable platforms received a fix at that time. This way of releasing of fixes is highly unusual for Oracle. Out-of-band patches like this present their own dangers since they are often overlooked by DBAs by not fitting into planned patching cycles. They also simplify reverse engineering of vulnerabilities by hackers through delivery of smaller change of code within patch.

Critical Patch Update for July 2018 ( http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html#AppendixDB) contains fixes for following vulnerabilities:
CVE-2017-15095 is a vulnerability in Oracle Spatial (jackson-databind) component of Oracle Database versions 12.2.0.1 and 18.1. It has a base score of 9.8 and can be remotely exploited without authentication.
CVE-2018-2939 is a vulnerability in Core RDBMS component of Oracle Database versions 11.2.0.4, 12.1.0.2, 12.2.0.1, 18.1, 18.2. It has a base score of 8.4.
CVE-2018-3004 is a vulnerability in Java VM component of Oracle Database versions 11.2.0.4, 12.1.0.2, 12.2.0.1, 18.2. It has a base score of 5.3.
CVE-2018-3110 is a vulnerability in Java VM component of Oracle Database versions 11.2.0.4, 12.1.0.2, 12.2.0.1, 18.2. It has a base score of 9.9. This vulnerability is fixed on all versions of database except 11.2.0.4 and 12.2.0.1 on Windows.
None of these fixes are applicable to client-only installations.

Security Alert for CVE-2018-3110 ( http://www.oracle.com/technetwork/security-advisory/alert-cve-2018-3110-5032149.html) was published at the same time as patches became available for Oracle Database Server versions 11.2.0.4 and 12.2.0.1 on Windows.

It is extremely important to apply July 2018 CPU and patches for CVE-2018-3110 in a timely manner to prevent potential complete compromise of the Oracle Database and shell access to the underlying server. At the time of this writing vulnerabilities fixed by July 2018 CPU have not been seen in the wild.

Applying July 2018 CPU and patches for CVE-2018-3110:

The CPU patches are cumulative in nature, and contain fixes for all previous vulnerabilities. Two patches have to be applied to fix all vulnerabilities addressed in this CPU - either the SPU or the PSU patch, along with the one for the Java Virtual Machine. Oracle also provided Combo patches that apply all necessary patches.

Oracle updated "Critical Patch Update (CPU) Program July 2018 Patch Availability Document" ( https://support.oracle.com/rs?type=doc&id=2394520.1) with patches for CVE-2018-3110.


* If you haven't installed July 2018 CPU, you should apply patches currently listed in Patch Availability Document.
* In case you have Oracle Database version other than 11.2.0.4 or 12.2.0.1 on Windows, and you applied July 2018 CPU, there is no need to apply any other patches to fix CVE-2018-3110.
* In case you have Oracle Database version 11.2.0.4 or 12.2.0.1 on Windows, and you applied July 2018 CPU before Security Alert for CVE-2018-3110 was published, you should apply one of the following Java VM patches on top of July 2018 CPU: 28416087 for Oracle 12.2.0.1 on Windows or 28416098 for Oracle 11.2.0.4 on Windows.