Lucian Constantin
CSO Senior Writer

New vulnerability found in Java 7 opens door to 10-year-old attack, researchers say

news
Jul 18, 20133 mins

The vulnerability allows attackers to bypass the Java security sandbox, researchers from Security Explorations said

Security researchers from Polish vulnerability research firm Security Explorations claim to have identified a new vulnerability in Java 7 that could allow attackers to bypass the software’s security sandbox and execute arbitrary code on the underlying system.

The vulnerability was reported Thursday to Oracle along with proof-of-concept exploit code, said Adam Gowdiak, the CEO and founder of Security Explorations, in a message to the Full Disclosure mailing list.

[ The Web browser is your portal to the world — and the gateway for security threats. InfoWorld’s expert contributors show you how to secure your Web browsers. Download the free PDF today! | Stay up to date on the latest security developments with InfoWorld’s Security Central newsletter. ]

According to Gowdiak, the vulnerability is located in the Reflection API (application programming interface), a feature that was introduced in Java 7 and which has been the source of many critical Java vulnerabilities so far. Security Explorations confirmed that its PoC exploit code works against Java SE 7 Update 25 and earlier versions, he said.

The new issue identified by Security Explorations can allow hackers to implement a “classic” attack that has been known for at least 10 years, Gowdiak said.

This kind of attack used to affect the Java VM (virtual machine) in its early days, in the late ’90s, he said via email.

“It’s one of those risks one should protect against in the first place when new features are added to Java at the core VM level,” Gowdiak said. It is surprising to discover that protection against this type of attack was not implemented for the Reflection API when Java 7 was being developed, he said.

The researcher claims that the vulnerability allows attackers to violate a fundamental Java VM security feature — the safety of its type system.

“As a result of the attack, one can conduct arbitrary cast operations between Java data types like an integer and a pointer,” he said via email. “In Java, cast operations need to follow strict rules, so that memory is accessed in a safe way.”

Gowdiak has criticized the implementation of the Reflection API in the past, saying that the feature doesn’t seem to have been subjected to a thorough security review.

He believes that the presence of this new vulnerability in Java 7 raises questions about the effectiveness of Oracle’s software security assurance and security-code review practices. “A huge pile of bugs go undetected by these policies and procedures,” he said.

At the end of May, Nandini Ramani, Oracle’s vice president of engineering for the Java Client and Mobile Platforms, reaffirmed in a blog post the company’s commitment to strengthening the security of Java.

“The Java development team has expanded the use of automated security testing tools, facilitating regular coverage over large sections of Java platform code,” Ramani said at the time. The team worked with Oracle’s primary provider of source-code analysis services to make those tools more effective in the Java environment and developed so-called “fuzzing” analysis tools to weed out certain types of vulnerabilities, she said.

“Sophisticated analysis tools should not miss simple Reflection API flaws,” Gowdiak said. “That should speak for itself.”

Lucian Constantin

Lucian Constantin writes about information security, privacy, and data protection for CSO. Before joining CSO in 2019, Lucian was a freelance writer for VICE Motherboard, Security Boulevard, Forbes, and The New Stack. Earlier in his career, he was an information security correspondent for the IDG News Service and Information security news editor for Softpedia.

Before he became a journalist, Lucian worked as a system and network administrator. He enjoys attending security conferences and delving into interesting research papers. He lives and works in Romania.

You can reach him at lucian_constantin@foundryco.com or @lconstantin on X. For encrypted email, his PGP key's fingerprint is: 7A66 4901 5CDA 844E 8C6D 04D5 2BB4 6332 FC52 6D42

More from this author