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.


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

Subscribe to the Tenable Blog

Try for Free Buy Now

Try Tenable.io Vulnerability Management


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 and run your first scan within 60 seconds.

Buy Tenable.io Vulnerability Management

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

Try Nessus Professional Free


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.