Oracle Java Cloud Service

General info

In a result of its research investigation efforts, Security Explorations discovered multiple security vulnerabilities in Oracle Java Cloud Service.

This section of our website presents initial information regarding the project that lead to this discovery:

  • Official press statement containing general information about the impact of the vulnerabilities.
  • Frequently Asked Questions about our discovery.
  • Technical details of conducted attacks and security issues found.
  • Status of the communication with vendors of affected technologies.

Project newsroom

Oracle Java Cloud Service - Press Info no. 2
1
APR 2014

Oracle Java Cloud Service - Press Info no. 2

Security Explorations decided to release technical details and accompanying Proof of Concept codes for security vulnerabilities discovered (...)

Read more
Oracle Java Cloud Service - Press Info no. 1
31
JAN 2014

Oracle Java Cloud Service - Press Info no. 1

Security Explorations, a security and vulnerability research company from Poland discovered multiple vulnerabilities in the environment of Oracle [1] Java Cloud Service (...)<

Read more

FAQ

What's the reason behind evaluating security of Oracle Java Cloud Service?

Over the recent months, several Oracle executives tried to convince the public that "security problems affecting Java in Internet browsers have generally not impacted Java running on servers" [1], that at Oracle, "every developer is a security rifleman", "trained in security" [2][3] and that company's products are subject to stricter Software Security Assurance Policies and Procedures [4].

Somehow we didn't buy it and decided to investigate security of some other Oracle products. As cloud technology is a hot topic these days and the voices of several Oracle VPs associated with Fusion Middleware and Cloud applications were in particular heard louder, we decided to have a closer look at the security of Oracle's Java Cloud Service.

Did you run a penetration test on Oracle's network?

Evaluating security of services deployed on a vendor side is different from the usual evaluation we conduct with respect to security of software. For real-life Internet services, configuration issues and architecture choices start to play a significant role and they can never be ignored.

Our goal was to verify security level provided by Oracle Java Cloud Service from the end user (customer) perspective. That required answer to the fundamental question: are user applications and data properly secured in Oracle Java Cloud ? We found that out by a careful combination of both security researcher's and penetration tester's skills.

What weaknesses did you encounter in Oracle Java Cloud?

There were several categories of them. First of all, we discovered multiple weaknesses that could be used to escape Java security sandbox of a target WebLogic server environment. We developed 9 Proof of Concept codes illustrating that (16 issues in total). We also found problems within the applications validation process and the environment of a WebLogic server itself.

Did you exploit any vulnerabilities in baseline Java SE?

No. Rather than showing that vulnerabilities in the underlying Java SE platform can influence security of Oracle Java Cloud service, we wanted to signal that other Oracle products are prone to exactly the same violations of company's Secure Coding Guidelines [5] as we did for Java SE [6].

What's the impact of your findings?

We found a way for a given user of Oracle Java Cloud service to gain access to applications and data of another user of the service in the same regional data center. By access we mean the possibility to read and write data, but also execute arbitrary Java code on a target WebLogic server instance hosting other users' applications. That alone undermines one of key principles of a cloud environment - security and privacy of users data.

Is that all?

Not really. There were certian attack scenarios and issues reported that we didn't verify in a target Oracle Java Cloud environment. Instead, they were tested in our lab only.

Are all Java Cloud users affected by your findings?

Our tests were conducted in US1 (Austin, TX) and EMEA1 (UK) Commercial data centers. The discovered weaknesses were confirmed for the identities we established (trial and commercial subscriptions).

How many Oracle Cloud systems could be affected by your findings?

According to some published data [7], back in 2012 Oracle Cloud was comprised of 300000+ systems (2500 server racks) deployed across 4 data centers. In 2013 and 2014 the number of data centers grew to 5 (US1, US2, EMEA1, EMEA2, APAC). While we cannot provide an exact number of the affected systems, this is certainly a considerable number taking into account that our findings affected 2 of Oracle Cloud data centers.

Was security of Oracle Cloud data centers at risk?

Taking into account the design and architecture of Oracle Cloud (what we have learned and what was confirmed by [7]), identified vulnerabilities should be completely sufficient to achieve a successful security compromise of a given Oracle regional data center (access to EM console / cloud administrator privileges in a given regional data center).

Which of the reported vulnerabilities were fixed by Apr 2014 CPU?

This CPU fixes only a remote vulnerability in a WebLogic server software (Issue 26).

Is the WebLogic vulnerability (Issue 26) serious?

This is the vulnerability that allows to bypass user authentication and gain administrative privileges on a remote instance of a WebLogic server. That alone makes this bug quite serious.

Should the project be treated as complete?

Definitely not. The specifics of the environment along with legal constraints prohibited us from running all possible tests. The results achieved should be however sufficient for triggering some extra work and more deeper thinking at Oracle regarding configuration, implementation and architecture of its Java Cloud services and security processes in general (QA and penetration testing in particular).

References:

Details

This page presents details of security vulnerabilities and attack techniques discovered as a result of our Oracle Java Cloud Service security research project. These details are provided in a form of original vulnerability reports, accompanying Proof of Concept Codes and tools.

Oracle Vulnerability Reports

  • SE-2013-01-ORACLE, Issues #1-28, PDF file, 1087KB (download)
  • SE-2013-01-ORACLE-2, Issues #29-30, PDF file, 210KB (download)

Additionally, the slides for a keynote talk given at JavaLand conference in 2016 are also provided. This talk referred to SE-2013-01 and our other research projects while discussing key problems related to Java platform security, its ecosystem and vendors.

  • "Java (in)security", PDF file, 1.4MB (download)

DISCLAIMER

Proof of Concept Codesand tools below are provided purely for educational purposes only. It is expressly forbidden to use them for any purposes that would violate any domestic or international laws. If you do not agree with this policy, please leave this page.

  • "Security Vulnerabilities in Oracle Java Cloud Service", Proof of Concept codes and tools, ZIP file, 523KB (download)

Vendors

SE-2013-01 Vendors status

This page presents current status of the communication process with vendors of affected technologies.

Summary of the communication process:

  • 31-Jan-2014
- Vulnerability Notice along with Proof of Concept codes are sent to Oracle corporation (Issues 1-28)
- Oracle confirms successful reception and decryption of the vulnerability report. The company informs that it will investigate based on the data provided and get back to us soon.
  • 02-Feb-2014
- Vulnerability Notice along with Proof of Concept codes are sent to Oracle corporation (Issues 29-30)
  • 03-Feb-2014
- Oracle confirms successful reception and decryption of the second vulnerability report. The company informs that it will investigate based on the data provided and get back to us soon.
  • 12-Feb-2014
- Oracle confirms reported Issues 1-30 and provides tracking numbers for them. The company informs that it will be providing status updates on the issues near the 24th of each month.
  • 27-Feb-2014
- Oracle provides a monthly status report for the reported issues. The company informs that fixes for 24 issues have been developed. The remaining 6 issues are under investigation / being fixed in main codeline. The company also informs that the identified issues are either in a cloud infrastructure layer or in shipping products. For vulnerabilities in shipping products, Oracle plans to release proper fixes in future Critical Patch Updates (CPU). For the issues in the Cloud infrastructure layer, the company is working towards fixing and deploying them in all hosted environments.
  • 28-Feb-2014
- Security Explorations asks Oracle for notification when both US1 and EMEA1 data centers are immune to all security vulnerabilities reported or any Oracle software release incorporates the fixes for the issues reported (such as software released prior to the CPU).
  • 20-Mar-2014
- Oracle informs that the company provides vulnerability information to all customers at the same time and that it does not publish a vulnerability when it is fixed in one release, but not in the other supported releases. The company also informs that it is still working on the cloud vulnerability handling policies. The company will notify Security Explorations when reported vulnerabilities are addressed in US1 and EMEA1 instances, but cannot promise this for future.
  • 11-Apr-2014
- Oracle provides a comprehensive status report regarding upcoming Critical Patch Update fixes. The company informs that all 30 reported issues have been addressed in Java Cloud 13.2 and later versions. For Java Cloud 13.1, all issues that allow compromise of one user's data by another user have been addressed (Issues 18, 19, 21, 22, 23, 26, 29, 30). For Issue 25, the JDK is being upgraded and Oracle will provide an update once this is completed. All remaining issues are currently mitigated by either workarounds or security provided by VM, OS and network layers until 13.1 is upgraded to 13.2. For Issue 26 (remote Weblogic vulnerability), fixes will be made available via April CPU for all supported versions for all on-premise customers. Oracle informs that it will continue to track the remaining issues till they are addressed for all Java Cloud versions and all on-premise customers. The company declares that it will continue to provide monthly updates.
  • 17-Apr-2014
- Oracle informs that Issue 25 has been addressed in Oracle Cloud 13.1 (JDK 1.6 has been upgraded).
  • 24-Apr-2014
- Oracle provides a monthly status report for the reported issues. The company informs that 20 issues are fixed in main codeline and are scheduled for a future CPU, 1 issue is under investigation / being fixed in main codeline and the remaining 8 issues have been resolved externally.
  • 22-May-2014
- Oracle provides a monthly status report for the reported issues. The company informs that 20 issues are fixed in main codeline and are scheduled for a future CPU and 1 issue is under investigation / being fixed in main codeline.
  • 28-May-2014
- Oracle informs that Issues 13-17 and 20 have been closed as Java Cloud version 13.1 has been upgraded to newer version. The remaining issues affecting on-premise customers will be resolved after they are released in a future Critical Patch Update.
  • 24-Jun-2014
- Oracle provides a monthly status report for the reported issues. The company informs that 15 issues are fixed in main codeline and are scheduled for a future CPU.
  • 11-Jul-2014
- Oracle provides a status report regarding upcoming CPU. The company informs that fixes for 15 vulnerabilities (Issues 1-12, 24, 27-28) will be incorporated into Critical Patch Update, due to be released on Jul 15, 2014.
  • 30-Oct-2015
- Security Explorations asks Oracle for CVE numbers corresponding to vulnerabilities reported as part of SE-2013-01 project (Issues 1-30).
- Oracle informs that it will gather the requested information and get back to us.
  • 02-Nov-2015
- Oracle provides CVE numbers for Issues 3-7, 9-12, 24 and 26-28. The company informs that issues that didn't have any CVE ID number assigned affected only its cloud offerings (Issues 13-23, 25 and 29-30).