Jenkins Security Advisory 2015-02-27

This advisory announces:

  • multiple security vulnerabilities that were found in Jenkins core.

  • a security vulnerability found in the matrix-project plugin

Description

SECURITY-125 (Combination filter Groovy script unsecured)

This vulnerability allows users with the job configuration privilege to escalate his privileges, resulting in arbitrary code execution to the Jenkins controller.

This vulnerability allows users with the job configuration privilege or users with commit access to the build script to access arbitrary files/directories on the Jenkins controller, resulting in the exposure of sensitive information, such as encryption keys.

SECURITY-163 (update center metadata retrieval DoS attack)

This vulnerability allows authenticated users to disrupt the operation of Jenkins by feeding malicious update center data into Jenkins, affecting plugin installation and tool installation.

SECURITY-165 (external entity injection via XPath)

This vulnerability allows users with the read access to Jenkins to retrieve arbitrary XML document on the server, resulting in the exposure of sensitive information inside/outside Jenkins.

SECURITY-166 (HudsonPrivateSecurityRealm allows creation of reserved names)

For users using "Jenkins' own user database" setting, Jenkins doesn’t refuse reserved names, thus allowing privilege escalation.

SECURITY-167 (External entity processing in XML can reveal sensitive local files)

This vulnerability allows attackers to create malicious XML documents and feed that into Jenkins, which causes Jenkins to retrieve arbitrary XML document on the server, resulting in the exposure of sensitive information inside/outside Jenkins.

Severity

SECURITY-125 is rated critical. This attack can be only mounted by users with some trust, but it results in arbitrary code execution on the Jenkins controller.

SECURITY-162 is rated critical. This attack can be only mounted by users with some trust, but it results in the exposure of sensitive information.

SECURITY-163 is rated medium, as it results in the loss of functionality.

SECURITY-165 is rated critical. This attack is easy to mount, and it results in the exposure of sensitive information.

SECURITY-166 is rated critical. For users who use the affected feature, this attack results in arbitrary code execution on the Jenkins controller.

SECURITY-167 is rated critical. This attack is easy to mount, and it results in the exposure of sensitive information.

Affected Versions

  • All the Jenkins releases <= 1.600

  • All the LTS releases <= 1.580.3

  • Matrix project plugin <= 1.4

Credit

The Jenkins project would like to thank the following people for finding the vulnerabilities:

  • Daniel Beck for finding SECURITY-125, SECURITY-162, SECURITY-163

  • Fabian Beterke for finding SECURITY-165 and SECURITY-167

  • Steven Christou for finding SECURITY-166

Fix

  • Main line users should upgrade to Jenkins 1.600

  • LTS users should upgrade to 1.596.1

  • matrix-project plugin fix is bundled and dependent on the above versions of the core. So when you upgrade core, you’ll get a fix to matrix-project plugin automatically, which is 1.4.1 or 1.2.1.