Use of Externally-Controlled Input to Select Classes or Code Affecting commons-beanutils:commons-beanutils package, versions [1.8.0,1.9.2)


Severity

Recommended
0.0
high
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of Concept
EPSS
92.37% (100th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-JAVA-COMMONSBEANUTILS-30077
  • published1 May 2014
  • disclosed30 Apr 2014
  • creditAlvaro Munoz

Introduced: 30 Apr 2014

CVE-2014-0114  (opens in a new tab)
CWE-470  (opens in a new tab)

How to fix?

Upgrade commons-beanutils:commons-beanutils to version 1.9.2 or higher.

Overview

commons-beanutils:commons-beanutils is a provides an easy-to-use but flexible wrapper around reflection and introspection.

Affected versions of this package are vulnerable to Use of Externally-Controlled Input to Select Classes or Code. It does not suppress the class property, which allows remote attackers to manipulate the ClassLoader and execute arbitrary code via the class parameter, as demonstrated by the passing of this parameter to the getClass method of the ActionForm object in Struts 1.

Note:

In version 1.9.2 now a special BeanIntrospector class was added which allows suppressing this property. Note that this BeanIntrospector is NOT enabled by default! Commons BeanUtils is a low-level library, and on this layer it cannot be decided whether access to a certain property is legal or not. Therefore, an application has to activate this suppressing BeanIntrospector explicitly.

CVSS Base Scores

version 3.1