Bamboo Security Advisory 2016-07-20
Bamboo - Deserialisation resulting in remote code execution caused by insufficient restriction on permitted deserialised classes.
Note: As of September 2014 we are no longer issuing binary bug patches, instead we create new maintenance releases for the major versions we are backporting.
Date of Advisory: 10 AM PDT (Pacific Time, -7 hours)
CVE ID:
- CVE-2016-5229 - Deserialisation in Bamboo.
Product: Bamboo
Affected Bamboo product versions:
- 2.3.1 <= version < 5.11.4.1
- 5.12.0 <= version < 5.12.3.1
Note: Bamboo version 5.10.0 and higher are not vulnerable if the "whitelist" option for XStream Serialisation is active. Prior to the fix versions listed below Bamboo defaulted to using a blacklist approach for XStream Serialisation. See Serialization protection methods for information on serialisation settings.
Fixed Bamboo product versions:
- for 5.11.x, Bamboo 5.11.4.1 has been released with a fix for this issue.
- for 5.12.x, Bamboo 5.12.3.1 has been released with a fix for this issue.
Summary of Vulnerability
This advisory discloses a critical severity security vulnerability which was introduced in version 2.3.1 of Bamboo. Versions of Bamboo starting with 2.3.1 before 5.11.4.1 (the fixed version for 5.11.x) and from 5.12.0 before 5.12.3.1 (the fixed version for 5.12.x) are affected by this vulnerability.
Atlassian Cloud instances have already been upgraded to a version of Bamboo which does not have the issue described on this page.
Customers who have upgraded Bamboo to version 5.11.4.1 or version 5.12.3.1 are not affected.
Customers who have downloaded and installed Bamboo >= 2.3.1 less than 5.11.4.1 (the fixed version for 5.11.x)
Customers who have downloaded and installed Bamboo >= 5.12.0 less than 5.12.3.1 (the fixed version for 5.12.x)
Please upgrade your Bamboo installations immediately to fix this vulnerability.
Acknowledgements
We would like to credit Moritz Bechler of AgNO3 for reporting this issue to us.
Deserialisation resulting in remote code execution caused by insufficient restriction on permitted deserialised classes (CVE-2016-5229)
Severity
Atlassian rates the severity level of this vulnerability as critical, according to the scale published in our Atlassian severity levels. The scale allows us to rank the severity as critical, high, moderate or low.
This is an independent assessment and you should evaluate its applicability to your own IT environment.
Description
Bamboo had a resource that deserialised input from build agents and did not sufficiently restrict which classes could be deserialised. To exploit this issue, attackers need to have a valid Bamboo agent fingerprint or be able to run code on a Bamboo agent.
All versions of Bamboo from 2.3.1 before 5.11.4.1 (the fixed version for 5.11.x) and from 5.12.0 before 5.12.3.1 (the fixed version for 5.12.x) are affected by this vulnerability. This issue can be tracked here: BAM-17736 - Getting issue details... STATUS
Mitigation
This issue can be mitigated in Bamboo version 5.10.0 and higher by setting the XStream Serialisation setting to "whitelist" which prior to the fix versions detailed in this advisory was not the default. See Serialization protection methods for information on serialisation settings.
Fix
We have taken the follow steps to address this issue:
- Released Bamboo version 5.12.3.1 that contains fixes for this issue.
- Released Bamboo version 5.11.4.1 that contains fixes for this issue.
What You Need to Do
Upgrade (recommended)
The vulnerabilities and fix versions are described in the description section above. Atlassian recommends that you upgrade to the latest version. This upgrade will automatically reconfigure your Bamboo to use a secure deserialisation mode.
Upgrade Bamboo to version 5.12.3.1 or higher.
If you are running Bamboo 5.11.x and cannot upgrade to bamboo 5.12.3.1 then upgrade to version 5.11.4.1.
If you are running Bamboo 5.10.x and cannot upgrade to 5.11.4.1 or 5.12.3.1 then you can follow following steps to mitigate the issue:
- Log in to Bamboo as an administrator and go to Bamboo administration > Security > Security settings which is found at /admin/configureSecurity.action for your Bamboo instance, for example http://bamboo-host/bamboo/admin/configureSecurity.action
- Under the Serialization protection methods section, set the XStream setting to Whitelist.
- Click Save.
- Check that XStream is set to Whitelist after reloading the Security Settings page.
See Serialization protection methods for information on serialisation settings.
For a full description of the latest version of Bamboo, see the release notes. You can download the latest version of Bamboo from the download centre.
Support
If you have questions or concerns regarding this advisory, please raise a support request at https://support.atlassian.com/.
References
Security Bug fix Policy | As per our new policy critical security bug fixes will be back ported to major software versions for up to 12 months for JIRA and Confluence. We will release new maintenance releases for the versions covered by the new policy instead of binary patches. Binary patches will no longer be released. |
Severity Levels for security issues | Atlassian security advisories include a severity level and a CVE identifier. This severity level is based on our self-calculated CVSS score for each specific vulnerability. CVSS is an industry standard vulnerability metric. You can also learn more about CVSS at FIRST.org. |
End of Life Policy | Our end of life policy varies for different products. Please refer to our EOL Policy for details. |