-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

===========================================================================
             AUSCERT External Security Bulletin Redistribution

                               ESB-2019.3134
      Apache Commons Beanutils addresses off-by-default security fix
                              16 August 2019

===========================================================================

        AusCERT Security Bulletin Summary
        ---------------------------------

Product:           Apache Commons Beanutils
Publisher:         Apache
Operating System:  UNIX variants (UNIX, Linux, OSX)
                   Windows
Impact/Access:     Execute Arbitrary Code/Commands -- Remote/Unauthenticated
Resolution:        Patch/Upgrade
CVE Names:         CVE-2019-10086 CVE-2014-0114 

Reference:         ASB-2014.0077
                   ESB-2014.0684

Original Bulletin: 
   https://www.mail-archive.com/announce@apache.org/msg05413.html
   https://issues.apache.org/jira/browse/BEANUTILS-520

Comment: To be clear, the fix for CVE-2014-0114 was not enabled by default,
         so CVE-2019-10086 was defined to classify this. With version 1.9.4
         the fix is enabled by default.

- --------------------------BEGIN INCLUDED TEXT--------------------

CVE-2019-10086. Apache Commons Beanutils does not suppresses the class
property in PropertyUtilsBean by default.

Severity: Medium

Vendor: The Apache Software Foundation

Versions Affected: commons-beanutils-1.9.3 and earlier

Description: A special BeanIntrospector class was added in version
1.9.2.
This can be used to stop attackers from using the class property of
Java objects to get access to the classloader.
However this protection was not enabled by default.
PropertyUtilsBean (and consequently BeanUtilsBean) now disallows class
level property access by default, thus protecting against
CVE-2014-0114.

Mitigation: 1.X users should migrate to 1.9.4.

Credit: This was discovered by Melloware (https://melloware.com/).

Example:

/**
 * Example displaying the new default behaviour such that
 * it is not possible to access class level properties utilizing the
 * BeanUtilsBean, which in turn utilizes the PropertyUtilsBean.
 */
public void testSuppressClassPropertyByDefault() throws Exception {
    final BeanUtilsBean bubD = new BeanUtilsBean();
    final AlphaBean bean = new AlphaBean();
    try {
        bub.getProperty(bean, "class");
        fail("Could access class property!");
    } catch (final NoSuchMethodException ex) {
        // ok
    }
}

/**
 * Example showing how by which one would use to revert to the
 * behaviour prior to the 1.9.4 release where class level properties
were accessible by
 * the BeanUtilsBean and the PropertyUtilsBean.
 */
public void testAllowAccessToClassProperty() throws Exception {
    final BeanUtilsBean bubD new BeanUtilsBean();
 
bub.getPropertyUtils().removeBeanIntrospector(SuppressPropertiesBeanIntros=
pector.SUPPRESS_CLASS);
    final AlphaBean bean = new AlphaBean();
    String result = bub.getProperty(bean, "class");
    assertEquals("Class property should have been accessed", "class
org.apache.commons.beanutils2.AlphaBean", result);
}

References.
[1] https://issues.apache.org/jira/browse/BEANUTILS-520
[2] http://commons.apache.org/proper/commons-beanutils/

- --------------------------END INCLUDED TEXT--------------------

You have received this e-mail bulletin as a result of your organisation's
registration with AusCERT. The mailing list you are subscribed to is
maintained within your organisation, so if you do not wish to continue
receiving these bulletins you should contact your local IT manager. If
you do not know who that is, please send an email to auscert@auscert.org.au
and we will forward your request to the appropriate person.

NOTE: Third Party Rights
This security bulletin is provided as a service to AusCERT's members.  As
AusCERT did not write the document quoted above, AusCERT has had no control
over its content. The decision to follow or act on information or advice
contained in this security bulletin is the responsibility of each user or
organisation, and should be considered in accordance with your organisation's
site policies and procedures. AusCERT takes no responsibility for consequences
which may arise from following or acting on information or advice contained in
this security bulletin.

NOTE: This is only the original release of the security bulletin.  It may
not be updated when updates to the original are made.  If downloading at
a later date, it is recommended that the bulletin is retrieved directly
from the author's website to ensure that the information is still current.

Contact information for the authors of the original document is included
in the Security Bulletin above.  If you have any questions or need further
information, please contact them directly.

Previous advisories and external security bulletins can be retrieved from:

        https://www.auscert.org.au/bulletins/

===========================================================================
Australian Computer Emergency Response Team
The University of Queensland
Brisbane
Qld 4072

Internet Email: auscert@auscert.org.au
Facsimile:      (07) 3365 7031
Telephone:      (07) 3365 4417 (International: +61 7 3365 4417)
                AusCERT personnel answer during Queensland business hours
                which are GMT+10:00 (AEST).
                On call after hours for member emergencies only.
===========================================================================
-----BEGIN PGP SIGNATURE-----
Comment: http://www.auscert.org.au/render.html?it=1967

iQIVAwUBXVX3k2aOgq3Tt24GAQhPxg/6AxO/+lh56DtWen7VaufJWqoVPRz5m4v3
PRAeoOJYObzJAkQmRqlwbFGVYSZRWrHE4enEv1xjuXdi1NgC4XsbqWY21kCafH51
UAS2T3cjWbqRfGET3tbi0H8rHXNkqewEmxkfAFjKVDFKLTt1RASj09NN+WFjWuWG
rIO3D7x+aKWXqpDHIZnRC/SehxRX05pYpklVL2OmGGwSFugTXJwYPP1PKAHU+r0C
iHS8KCBBlAp10H7vk7zwAVIJ+RMMfGCAMKgp17AA90qDRq+B+AfMrSrgwMTprLEF
WmOWRddV8xZTo/KRcpkihaTh1Ocx7qBjU/Va6ZizHH0v6LkNKNjKv7q4eGedO437
LQhZwtlLsLPIrE21bVQEIkYA9EklmgYPE0uasQvCtgpwNTMivW1ZioU7QdHncFEL
wkDzz9L7cbt4vns1vjlZL3L4y+wOHRgzDkAt8FFNrO5GHOSRPOxnsgmtFHuT+syu
WQj9jq7nRBseTlRLiSTrjnrp24BJugRxYbMkhVnE0Nm8fdqEpJYbwfoFKm8aV4P4
9wZr3Ylqq2jEdcG9teNzWGFdzdtWVwpHKeTQm/BC7RrXCbCHQvNI8FgFFX8gzcGz
dDnFWijTZad85qOy744JGUywb4WSdoN2+Cqi+IoxUGVzZ1aVfF6+hn89P6AdmUE4
ZRPDHYCG8G8=
=JCMd
-----END PGP SIGNATURE-----