Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

May Vulnerability of the Month: Java Deserialization Everywhere

Every month, we ask our researchers to nominate a vulnerability of the month. Novelty, sophistication or just plain weirdness are some of the potential criteria for selecting a vulnerability of the month. After the nominations are collected, the candidates are shortlisted and voted on by our 70-plus-member research organization, combining the total experience and knowledge of Tenable Research to identify the vulnerability of the month.

Background

On the heels of a failed patch to another Java deserialization vulnerability in Oracle WebLogic Servers, the research team voted to highlight a Red Hat JBoss vulnerability this month. CVE-2017-12149 is another remote code execution (RCE) vulnerability with a 9.8 CVSS3 score. This vulnerability allows an unauthenticated attacker to execute arbitrary code on a remote host. It affects JBoss Enterprise Application Platform (EAP) 5 deployed on Red Hat Linux.

What makes this the vulnerability of the month?

Attacks leveraging Java deserialization vulnerabilities are becoming a common target for attackers. Serialization is a technique used to translate an object into a binary format that can be easily stored. The reverse process is called deserialization. The problem is that applications frequently fail to validate the data obtained from an untrusted source before trying to deserialize it. This can allow attackers to execute arbitrary code and trigger server side command execution. The issue is listed as “Deserialization of Untrusted Data” in Mitre’s Common Weakness Enumeration database.

Vulnerability details

In Jboss EAP 5, attackers can achieve RCE because of weak HTTP input validation implemented before deserialization process execution. This vulnerability (CVE-2017-12149) allows usage of unsafe classes from "functor" package provided by Apache Commons Collection Library 3.X < 3.2.2 / 4.X < 4.1 (CVE-2015-7501). The vulnerable version of the library is shipped by default with Jboss EAP 5.

Unfortunately, the combination above is not the only one that can be used to conduct this type of attack. Attackers can also try to utilize “property-oriented programming” (POP) to build custom malicious objects chains. These objects chains are composed of code snippets that can be used to manipulate the properties of an object to trigger the RCE by using unsafe classes from the target application. That’s why serialized objects validation is such a challenging task.

In addition, tools like ysoserial make it trivial to utilize well-known objects chains to exploit deserialization vulnerabilities in web servers and applications, increasing the exposed attack surface.

JBoss EAP 5 is affected by this Java deserialization vulnerability due to a flaw in the doFilter method of the ReadOnlyAccessFilter class. A remote attacker could exploit this flaw with a crafted serialized object passed via HTTP request to execute arbitrary code on the host.

Anyone running JBoss EAP 5 with publicly accessible http-invoker.sar component could be impacted by the issue. JBoss EAP 6 and 7 do not provide the HTTP invoker so they’re not affected.

Additional resources

Related Posts

Subscribe to the Tenable Blog

Subscribe
Try for Free Buy Now

Try Tenable.io

FREE FOR 60 DAYS

Enjoy full access to a modern, cloud-based vulnerability management platform that enables you to see and track all of your assets with unmatched accuracy. Sign up now.

Buy Tenable.io

Enjoy full access to a modern, cloud-based vulnerability management platform that enables you to see and track all of your assets with unmatched accuracy. Purchase your annual subscription today.

65 assets

$2,275.00

Buy Now

Try for Free Buy Now

Try Nessus Professional Free

FREE FOR 7 DAYS

Nessus® is the most comprehensive vulnerability scanner on the market today. Nessus Professional will help automate the vulnerability scanning process, save time in your compliance cycles and allow you to engage your IT team.

Buy Nessus Professional

Nessus® is the most comprehensive vulnerability scanner on the market today. Nessus Professional will help automate the vulnerability scanning process, save time in your compliance cycles and allow you to engage your IT team.

Buy a multi-year license and save

Try for Free Buy Now

Try Tenable.io Web Application Scanning

FREE FOR 60 DAYS

Enjoy full access to our latest web application scanning offering designed for modern applications as part of the Tenable.io platform. Safely scan your entire online portfolio for vulnerabilities with a high degree of accuracy without heavy manual effort or disruption to critical web applications. Sign up now.

Buy Tenable.io Web Application Scanning

Enjoy full access to a modern, cloud-based vulnerability management platform that enables you to see and track all of your assets with unmatched accuracy. Purchase your annual subscription today.

5 FQDNs

$3,578.00

Buy Now

Try for Free Contact Sales

Try Tenable.io Container Security

FREE FOR 60 DAYS

Enjoy full access to the only container security offering integrated into a vulnerability management platform. Monitor container images for vulnerabilities, malware and policy violations. Integrate with continuous integration and continuous deployment (CI/CD) systems to support DevOps practices, strengthen security and support enterprise policy compliance.

Buy Tenable.io Container Security

Tenable.io Container Security seamlessly and securely enables DevOps processes by providing visibility into the security of container images – including vulnerabilities, malware and policy violations – through integration with the build process.

Learn More about Industrial Security

Get a Demo of Tenable.sc

Please fill out the form below with your contact information and a sales representative will contact you shortly to schedule a demo. You may also include a short comment (limited to 255 characters). Please note that fields with asterisks (*) are mandatory.