Jun 15, 2018

Marshalling to SYSTEM - An analysis of CVE-2018-0824

This was originally posted on blogger here. In May 2018 Microsoft patched an interesting vulnerability (CVE-2018-0824) which was reported by Nicolas Joly of Microsoft’s MSRC: A remote code execution vulnerability exists in “Microsoft COM for Windows” when it fails to properly handle serialized objects. An attacker who successfully exploited the vulnerability could use a specially crafted file or script to perform actions. In an email attack scenario, an attacker could exploit the vulnerability by sending the specially crafted file to the user and convincing the user to open the file.

May 30, 2018

Poor RichFaces

This was originally posted on blogger here. RichFaces is one of the most popular component libraries for JavaServer Faces (JSF). In the past, two vulnerabilities (CVE-2013-2165 and CVE-2015-0279) have been found that allow RCE in versions 3.x ≤ 3.3.3 and 4.x ≤ 4.5.3. Code White discovered two new vulnerabilities which bypass the implemented mitigations. Thereby, all RichFaces versions including the latest 3.3.4 and 4.5.17 are vulnerable to RCE. Introduction JavaServer Faces (JSF) is a framework for building user interfaces for web applications.

Mar 13, 2018

Exploiting Adobe ColdFusion before CVE-2017-3066

This was originally posted on blogger here. In a recent penetration test my teammate Thomas came across several servers running Adobe ColdFusion 11 and 12. Some of them were vulnerable to CVE-2017-3066 but no outgoing TCP connections were possible to exploit the vulnerability. He asked me whether I had an idea how he could still get a SYSTEM shell and the outcome of the short research effort is documented here.

Jan 18, 2018

Handcrafted Gadgets

This was originally posted on blogger here. Introduction In Q4 2017 I was pentesting a customer. Shortly before, I had studied json attacks when I stumbled over an internet-facing B2B-portal-type-of-product written in Java they were using (I cannot disclose more details due to responsible disclosure). After a while, I found that one of the server responses sent a serialized Java object, so I downloaded the source code and found a way to make the server deserialize untrusted input.

May 17, 2017

SAP Customers: Make sure your SAPJVM is up-to-date!

This was originally posted on blogger here. Summary Code White have already an impressive publication record on Java Deserialization. This post is dedicated to a vulnerability in SAP NetWeaver Java. We could reach remote code execution through the p4 protocol and the Jdk7u21 gadget with certain engines and certain versions of the SAP JVM. We would like to emphasize the big threat unauthenticated RCE poses to a SAP NetWeaver Java. An attacker with a remote shell can read out the secure storage, access the database, create a local NetWeaver user with administrative privileges, in other words, fully compromise the host.

Apr 4, 2017

AMF – Another Malicious Format

This was originally posted on blogger here. AMF is a binary serialization format primarily used by Flash applications. Code White has found that several Java AMF libraries contain vulnerabilities, which result in unauthenticated remote code execution. As AMF is widely used, these vulnerabilities may affect products of numerous vendors, including Adobe, Atlassian, HPE, SonicWall, and VMware. Vulnerability disclosure has been coordinated with US CERT (see US CERT VU#307983). Summary Code White has analyzed the following popular Java AMF implementations:

May 4, 2016

Return of the Rhino: An old gadget revisited

This was originally posted on blogger here. [Update 08/05/2015: Added reference to CVE-2012-3213 of James Forshaw. Thanks for the heads up] As already mentioned in our Infiltrate ‘16 and RuhrSec ‘16 talks, Code White spent some research time to look for serialization gadgets. Apart from the Javassist/Weld gadget we also found an old but interesting gadget, only using classes from the Java Runtime Environment (so called JRE gadget). We called the gadget Return of the Rhino since the relevant gadget classes are part of the Javascript engine Rhino, bundled with Oracle JRE6 and JRE7.

Apr 12, 2016

Infiltrate 2016 Slidedeck: Java Deserialization Vulnerabilities

This was originally posted on blogger here. The outcome of Code White’s research efforts into Java deserialization vulnerabilities was presented at Infiltrate 2016 by Matthias Kaiser. The talk gave an introduction into finding and exploiting Java deserialization vulnerabilities. Technical details about the Oracle Weblogic deserialization RCE (CVE-2015-4852) and a SAP Netweaver AS Java 0day were shown. The slidedeck doesn’t include the SAP Netweaver AS Java 0day POC and it won’t be published until fixed.

Feb 23, 2016

Compromised by Endpoint Protection: Legacy Edition

This was originally posted on blogger here. The previous disclosure of the vulnerabilities in Symantec Endpoint Protection (SEP) 12.x showed that a compromise of both the SEP Manager as well as the managed clients is possible and can have a severe impact on a whole corporate environment. Unfortunately, in older versions of SEP, namely the versions 11.x, some flawed features of 12.x weren’t even implemented, e.g., the password reset feature. However, SEP 11.

Feb 4, 2016

Java and Command Line Injections in Windows

This was originally posted on blogger here. Everyone knows that incorporating user provided fragments into a command line is dangerous and may lead to command injection. That’s why in Java many suggest using ProcessBuilder instead where the program’s arguments are supposed to be passed discretely in separate strings. However, in Windows, processes are created with a single command line string. And since there are different and seemingly confusing parsing rules for different runtime environments, proper quoting seems to be likewise complicated.