Jenkins item creation restriction bypass vulnerability
Moderate severity
GitHub Reviewed
Published
Oct 2, 2024
to the GitHub Advisory Database
•
Updated Nov 25, 2024
Package
Affected versions
< 2.462.3
>= 2.466, < 2.479
Patched versions
2.462.3
2.479
Description
Published by the National Vulnerability Database
Oct 2, 2024
Published to the GitHub Advisory Database
Oct 2, 2024
Reviewed
Oct 2, 2024
Last updated
Nov 25, 2024
Jenkins provides APIs for fine-grained control of item creation:
Authorization strategies can prohibit the creation of items of a given type in a given item group (
ACL#hasCreatePermission2
).Item types can prohibit creation of new instances in a given item group (
TopLevelItemDescriptor#isApplicableIn(ItemGroup)
).If an attempt is made to create an item of a prohibited type through the Jenkins CLI or the REST API and either of the above checks fail, Jenkins 2.478 and earlier, LTS 2.462.2 and earlier creates the item in memory, only deleting it from disk.
This allows attackers with Item/Create permission to bypass these restrictions, creating a temporary item. With Item/Configure permission, they can also save the item to persist it.
If an attempt is made to create an item of a prohibited type through the Jenkins CLI or the REST API and either of the above checks fail, Jenkins 2.479, LTS 2.462.3 does not retain the item in memory.
References