Excessive memory allocation in graph URLs leads to denial of service in Jenkins
Moderate severity
GitHub Reviewed
Published
May 24, 2022
to the GitHub Advisory Database
•
Updated Dec 14, 2023
Package
Affected versions
<= 2.263.1
>= 2.264, <= 2.274
Patched versions
2.263.2
2.275
Description
Published by the National Vulnerability Database
Jan 13, 2021
Published to the GitHub Advisory Database
May 24, 2022
Reviewed
Jun 23, 2022
Last updated
Dec 14, 2023
Jenkins renders several different graphs for features like agent and label usage statistics, memory usage, or various plugin-provided statistics.
Jenkins 2.274 and earlier, LTS 2.263.1 and earlier does not limit the graph size provided as query parameters.
This allows attackers to request or to have legitimate Jenkins users request crafted URLs that rapidly use all available memory in Jenkins, potentially leading to out of memory errors.
Jenkins 2.275, LTS 2.263.2 limits the maximum size of graphs to an area of 10 million pixels. If a larger size is requested, the default size for the graph will be rendered instead.
This threshold can be configured by setting the Java system property
hudson.util.Graph.maxArea
to a different number on startup.References