CloudBees Security Advisory 2017-11-08

This advisory announces multiple vulnerabilities in Jenkins, CloudBees Jenkins Platform and CloudBees Jenkins Solutions.

Unsafe use of user names as directory names

SECURITY-499 / CVE-2017-1000391

Jenkins stores metadata related to people, which encompasses actual user accounts, as well as users appearing in SCM, in directories corresponding to the user ID on disk. These directories used the user ID for their name without additional escaping. This potentially resulted in a number of problems, such as the following:

  1. User names consisting of a single forward slash would have their user record stored in the parent directory; deleting this user deleted all user records.

  2. User names containing character sequences such as .. could be used to clobber other configuration files in Jenkins.

  3. User names could consist of reserved names such as COM (on Windows).

This is not limited to the Jenkins user database security realm, other security realms such as LDAP may allow users to create user names that result in problems in Jenkins.

User names are now transformed into a filesystem-safe representation that is used as directory name.

Persisted XSS vulnerability in autocompletion suggestions

SECURITY-641 / CVE-2017-1000392

Autocompletion suggestions for text fields were not escaped, resulting in a persisted cross-site scripting vulnerability if the source for the suggestions allowed specifying text that includes HTML metacharacters like less-than and greater-than characters.

Known previously unsafe sources for these suggestions include the names of loggers in the log recorder condition, and agent labels.

Autocompletion suggestions are now escaped and can no longer contain HTML-based formatting.

Severity

  • SECURITY-499: Various, the highest of which is low

  • SECURITY-641: low

The following Jenkins, CloudBees Jenkins Platform, and CloudBees Jenkins Solutions are affected:

  • CloudBees Jenkins Enterprise up to and including 1.9.2.

  • CloudBees Jenkins Platform (rolling train, CloudBees Jenkins Operations Center and CloudBees Jenkins Enterprise 2.x.y.z) up to and including 2.73.2.1.

  • CloudBees Jenkins Platform (fixed train, CloudBees Jenkins Operations Center and CloudBees Jenkins Enterprise 2.46.x.0.y) up to and including 2.46.26.0.1

  • CloudBees Jenkins Team up to and including 2.73.2.1

  • Jenkins LTS up to and including 2.73.2

  • Jenkins main line up to and including 2.88

Fix

  • CloudBees Jenkins Enterprise should be upgraded to 1.10.0. This version will be available for download in the next 24 hours.

  • CloudBees Jenkins Platform (rolling train, CloudBees Jenkins Operations Center and CloudBees Jenkins Enterprise 2.x.y.z) should be upgraded to 2.73.3.1

  • CloudBees Jenkins Platform (fixed train, CloudBees Jenkins Operations Center and CloudBees Jenkins Enterprise 2.46.x.0.y) should be upgraded to 2.46.27.0.1

  • CloudBees Jenkins Team should be upgraded to 2.73.3.1

  • DEV@cloud is already protected.

  • Jenkins:

    • Jenkins LTS should be upgraded to 2.73.3

    • Jenkins main line should be upgraded to 2.89