CVE-2025-48734
May 28, 2025
Improper Access Control vulnerability in Apache Commons.
A special BeanIntrospector class was added in version 1.9.2. This can be used to stop attackers from using the declared class property of Java enum objects to get access to the classloader. However this protection was not enabled by default. PropertyUtilsBean (and consequently BeanUtilsBean) now disallows declared class level property access by default.
Releases 1.11.0 and 2.0.0-M2 address a potential security issue when accessing enum properties in an uncontrolled way. If an application using Commons BeanUtils passes property paths from an external source directly to the getProperty() method of PropertyUtilsBean, an attacker can access the enum’s class loader via the “declaredClass” property available on all Java “enum” objects. Accessing the enum’s “declaredClass” allows remote attackers to access the ClassLoader and execute arbitrary code. The same issue exists with PropertyUtilsBean.getNestedProperty().
Starting in versions 1.11.0 and 2.0.0-M2 a special BeanIntrospector suppresses the “declaredClass” property. Note that this new BeanIntrospector is enabled by default, but you can disable it to regain the old behavior; see section 2.5 of the user's guide and the unit tests.
This issue affects Apache Commons BeanUtils 1.x before 1.11.0, and 2.x before 2.0.0-M2.Users of the artifact commons-beanutils:commons-beanutils
1.x are recommended to upgrade to version 1.11.0, which fixes the issue.
Users of the artifact org.apache.commons:commons-beanutils2
2.x are recommended to upgrade to version 2.0.0-M2, which fixes the issue.
Affected Packages
https://github.com/apache/commons-beanutils.git (GITHUB):
Affected version(s) =rel/commons-beanutils-2.0.0-M1 <rel/commons-beanutils-2.0.0-M2Fix Suggestion:
Update to version rel/commons-beanutils-2.0.0-M2https://github.com/apache/commons-beanutils.git (GITHUB):
Affected version(s) >=BEANUTILS_1_0 <rel/commons-beanutils-1.11.0Fix Suggestion:
Update to version rel/commons-beanutils-1.11.0https://github.com/apache/commons-beanutils.git (GITHUB):
Affected version(s) =commons-beanutils-2.0.0-M1-RC1 <commons-beanutils-2.0.0-M2-RC1Fix Suggestion:
Update to version commons-beanutils-2.0.0-M2-RC1org.apache.commons:commons-beanutils2 (JAVA):
Affected version(s) =2.0.0-M1 <2.0.0-M2Fix Suggestion:
Update to version 2.0.0-M2commons-beanutils:commons-beanutils (JAVA):
Affected version(s) >=1.0 <1.11.0Fix Suggestion:
Update to version 1.11.0Related Resources (6)
Do you need more information?
Contact UsCVSS v4
Base Score:
8.7
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
LOW
User Interaction
NONE
Vulnerable System Confidentiality
HIGH
Vulnerable System Integrity
HIGH
Vulnerable System Availability
HIGH
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
8.8
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH
Weakness Type (CWE)
Improper Access Control
EPSS
Base Score:
0.1