1552 matches found
Insufficient session expiration vulnerability
Jenkins's "Keep me signed in" feature uses a persistent cookie, known as the "remember me" cookie, to re-authenticate users without requiring them to enter credentials again. The validity of this cookie does not depend on the credentials used to obtain it. Jenkins 2.587 and earlier, LTS 2.580.1 a...
Collection element type check bypass vulnerability
Jenkins uses XStream for serialization and deserialization of configuration and build data. The ability to provide XML documents to XStream is exposed to users who hold the respective /Configure permission, e.g., the item POST config.xml API is available with Item/Configure permission. XStream by...
Link following vulnerability allows arbitrary file read
When renaming an item, Jenkins moves its directory on the controller file system, or copies it if it cannot be moved. Jenkins 2.587 and earlier, LTS 2.580.1 and earlier follows symbolic links when copying the directory of an item being renamed. This allows attackers with Item/Create and...
XSS vulnerability in workspace browser
When the workspace of a job is located on an agent, Jenkins retrieves the list of files and directories shown in the workspace browser from that agent. In Jenkins 2.587 and earlier, LTS 2.580.1 and earlier, the agent computes the URL of the link shown for each file and directory. This results in ...
XSS vulnerability in handling of agent errors
To protect against deserialization vulnerabilities, Jenkins restricts the types of objects that agents can send to the controller https://jenkins.io/jep/200JEP-200. Jenkins 2.587 and earlier, LTS 2.580.1 and earlier allows agents to send exceptions implementing the...
RCE vulnerability in XStream deserialization due to improper `resolves-to` attribute handling
Jenkins uses XStream for serialization and deserialization of configuration and build data. To protect from common deserialization vulnerabilities, Jenkins uses a custom deserialization filter that only allows deserialization of types defined in Jenkins core or plugins, or explicitly allowed type...
Stored XSS vulnerability in breadcrumb bar overflow menu
When the breadcrumb bar does not fit in the browser window, Jenkins moves breadcrumbs into an overflow menu, and shows the full text of long breadcrumbs, such as job, build, or user names, in a tooltip. Jenkins 2.587 and earlier, LTS 2.580.1 and earlier does not escape the text shown in these...
Root element restriction bypass in XStream deserialization
Jenkins uses XStream for serialization and deserialization of configuration and build data. Types storing their configuration in their own files usually config.xml or build.xml, like agents, items, or builds, are indicated as such by implementing the Java interface PersistenceRoot. Since...
Race condition in artifact extraction allows arbitrary file creation
To prevent writing files outside the target directory, Jenkins refuses to write files through symbolic links when extracting archived artifacts on the controller. Jenkins 2.587 and earlier, LTS 2.580.1 and earlier checks for symbolic links in the path of an extracted file only before creating its...
Old Data Monitor injection lets users take over administrator accounts
Jenkins uses XStream for serialization and deserialization of configuration and build data. The ability to provide XML documents to XStream is exposed to users who hold the respective /Configure permission, e.g., the item POST config.xml API is available with Item/Configure permission. When inval...
Path traversal vulnerability in agent names
Jenkins 2.587 and earlier, LTS 2.580.1 and earlier provides an HTTP endpoint that loads agents by name without validating the name, so that any config.xml file on the controller file system can be loaded, as an agent carrying the name declared in that file. This allows attackers with Overall/Read...
Race condition in setup wizard allows creating an administrator account
By default, the initial setup of Jenkins configures the "Jenkins' own user database" security realm and the "Logged-in users can do anything" authorization strategy, and creates an initial user account. During the setup wizard, administrators can create a new administrator account, in which case...
Path traversal vulnerability in file browser
Jenkins 2.587 and earlier, LTS 2.580.1 and earlier improperly identifies file paths attempting path traversal in the file browser for workspaces and $JENKINSHOME/userContent/. This allows attackers with Overall/Read permission to obtain the names, sizes, and last modification times of files in...
Missing permission check allows obtaining HTTP proxy configuration
Jenkins 2.587 and earlier, LTS 2.580.1 and earlier does not perform a permission check in an HTTP endpoint. This allows attackers with Overall/Read permission to obtain the server, port, user name, and no-proxy host list of the configured HTTP proxy. Jenkins 2.588, LTS 2.580.2 requires...
Agent launch command approval bypass vulnerability
Since Jenkins 2.86, LTS 2.89.1 launching agents by running a command on the controller is implemented in the Command Agent Launcher Plugin rather than in Jenkins. For backward compatibility with older agent configurations, Jenkins 2.587 and earlier, LTS 2.580.1 and earlier converts the launch...
Cache confusion in gitlab-plugin
gitlab-plugin allows jobs to override the globally configured GitLab API token credentials with an alternative one, and caches the GitLab API client it builds for those credentials. gitlab-plugin 1.2149.vcfc32c82bf7f and earlier derives the cache key from the credentials ID alone, omitting the...
Stored XSS vulnerability in coverage
coverage uses coverage results IDs to create the links to coverage results on the Jenkins UI. coverage 3.3358.v9487dde48783 and earlier does not validate the coverage results ID when a job configuration is submitted through the REST API. This allows attackers with Item/Configure permission to use...
Stored XSS vulnerability in dependency-check-jenkins-plugin
dependency-check-jenkins-plugin 5.6.4 and earlier does not escape CWE values from Dependency-Check reports on the Jenkins UI. This results in a stored cross-site scripting XSS vulnerability exploitable by attackers with Item/Configure permission. TIP: On Jenkins 2.539 and newer, LTS 2.541.1 and...
Path traversal vulnerability in robot
robot 6.2.2 and earlier does not check that the archive directory configured for Robot Framework report files is contained within the build directory on the Jenkins controller. This allows attackers with Item/Configure permission to create or replace arbitrary files on the Jenkins controller file...
Path traversal vulnerability in pipeline-groovy-lib
pipeline-groovy-lib provides the library step to retrieve a shared library from an SCM, using a library path to specify the directory containing the library inside the SCM checkout. pipeline-groovy-lib 805.vafc79344957d and earlier does not restrict that library path to a relative path inside the...
Sandbox bypass vulnerability in script-security
script-security provides a sandbox feature that allows running user-provided scripts safely by intercepting and checking potentially unsafe operations. script-security 1415.v9af9b3ac253d and earlier does not intercept operations performed on a null receiver method calls, property and attribute...
Sandbox bypass vulnerability in script-security
script-security provides a sandbox feature that allows running user-provided scripts safely by intercepting and checking potentially unsafe operations. script-security 1415.v9af9b3ac253d and earlier does not reject the @GroovyASTTransformationClass annotation, which a script can use to link an...
Stored XSS vulnerability in warnings-ng
warnings-ng uses analysis results IDs to create the links to analysis results on the Jenkins UI. warnings-ng 13.10258.va17d49a78c3b and earlier does not validate the analysis results ID when a job configuration is submitted through the REST API. This allows attackers with Item/Configure permissio...
Stored XSS vulnerability in gitee
gitee 1301.v8957053c7902 and earlier does not escape the sender name from Gitee push webhook payloads in build causes. This results in a stored cross-site scripting XSS vulnerability exploitable by attackers able to trigger builds via the gitee webhook endpoint. gitee 1304.v2702f1d71cde escapes t...
Open redirect vulnerability in keycloak
keycloak 2.4.1 and earlier does not restrict the redirect URL after login. This allows attackers to perform phishing attacks by having users go to a Jenkins URL that will forward them to a different site after successful authentication. keycloak 2.4.2 only redirects to relative Jenkins URLs...
TOCTOU race condition in script-security
script-security allows Groovy scripts to load classpath entries from JAR files, specified either by file path or by URL, which administrators must approve before any script is allowed to use them. script-security 1415.v9af9b3ac253d and earlier downloads a JAR file specified by URL twice when a...
Sandbox bypass vulnerability in script-security
script-security provides a sandbox feature that allows running user-provided scripts safely by intercepting and checking potentially unsafe operations. Groovy allows an existing class to be extended at runtime with additional methods. script-security 1415.v9af9b3ac253d and earlier does not check...
Sandbox bypass vulnerability in script-security
script-security provides a sandbox feature that allows running user-provided scripts safely by intercepting and checking potentially unsafe operations. Groovy's @Builder annotation generates builder code at compile time using the strategy class named by its builderStrategy member, which can be on...
Sandbox bypass vulnerability in script-security
script-security provides a sandbox feature that allows running user-provided scripts safely by intercepting and checking potentially unsafe operations. Groovy coerces a value to an interface by creating a proxy that forwards each interface method call to a method of the same name on that value...
SSRF vulnerability in gradle allows capturing the Develocity access key
gradle provides global options for administrators to detect build scan links in build logs, and to show an enriched build scan summary for those build scans on the build page. In gradle 2.19.1252.v15196b5a6e10 and earlier, the enriched build scan summary requests data from the build scan link...
OAuth access token hijacking via callback URL manipulation in atlassian-bitbucket-server-integration
atlassian-bitbucket-server-integration implements an OAuth provider for Bitbucket Server. The OAuth authorization endpoint in atlassian-bitbucket-server-integration 6.0.1 and earlier reads the oauthcallback URL from the submitted form rather than from the server-side stored request token. An...
SSRF vulnerability in bitbucket-push-and-pull-request allows capturing credentials
bitbucket-push-and-pull-request provides a webhook endpoint at /bitbucket-hook/ to receive webhook notifications. When acting on these notifications, bitbucket-push-and-pull-request 4.0.1 and earlier trusts values provided in the webhook payload, including certain URLs, and uses configured...
Sandbox bypass vulnerability in script-security
script-security provides a sandbox feature that allows running user-provided scripts safely by intercepting and checking potentially unsafe operations. Groovy casts a collection to another type using the elements of that collection, either passing them to a constructor of that type or casting eac...
Exposure of System-scoped credentials in workflow-multibranch
workflow-multibranch 841.vec5b9e1806ec and earlier does not set the appropriate context for credentials lookup in the resolveScm Pipeline step, allowing the use of System-scoped credentials otherwise reserved for the global configuration. This allows attackers with Item/Configure permission to...
Classpath approval bypass vulnerability in script-security
script-security allows Groovy scripts to load classpath entries from JAR files, which administrators must approve before any script is allowed to use them. script-security 1415.v9af9b3ac253d and earlier automatically approves the classpath entries in an item configuration when a user with...
Tokens stored in plain text by Parameterized-Remote-Trigger
Parameterized-Remote-Trigger 3.2.2 and earlier stores tokens unencrypted in job config.xml files on the Jenkins controller as part of its configuration. These tokens can be viewed by users with Item/Extended Read permission or access to the Jenkins controller file system. As of publication of thi...
Missing permission check in pipeline-build-step allows canceling downstream builds
Builds in Jenkins are associated with an authentication that controls the permissions that the build has to interact with other elements in Jenkins. By default, builds run as SYSTEM and are unconstrained unless plugins implement specific additional permission checks. Plugins like Authorize Projec...
Improper access control in ldap allows SSRF
Jenkins uses the https://github.com/jenkinsci/staplerStapler web framework for HTTP request handling. Stapler's data-binding mechanism instantiates objects by invoking constructors annotated with @DataBoundConstructor and binding submitted data to their arguments. ldap 807.809.vd3a4e5e4ec98 and...
Path traversal vulnerability in file-parameters can lead to RCE
Jenkins uses the https://github.com/jenkinsci/staplerStapler web framework for HTTP request handling. Stapler's data-binding mechanism instantiates objects by invoking constructors annotated with @DataBoundConstructor and binding submitted data to their arguments. file-parameters validates...
Improper access control in script-security
Jenkins uses the https://github.com/jenkinsci/staplerStapler web framework for HTTP request handling. Stapler's data-binding mechanism instantiates objects by invoking constructors annotated with @DataBoundConstructor, binding submitted data to their arguments, and setting additional properties...
Stored XSS vulnerability in update-center2
https://github.com/jenkins-infra/update-center2/Update-center2 is the tool used to generate the Jenkins update sites hosted on updates.jenkins.io. NOTE: While it is designed for use by the Jenkins project for this purpose, others may be using it to operate their own self-hosted update sites...
Privilege escalation in azure-ad
azure-ad 710.v0bff8e9cc2d2 and earlier grants Entra group permissions using both the group's unique object ID GUID and its display name. Entra group display names are not globally unique, and unless the tenant restricts it, any tenant member can create a group with an arbitrary display name. This...
Stored XSS vulnerability in sonar
sonar 2.18.3 and earlier does not limit URL schemes for the dashboard links it creates based on SonarQube scanner results, allowing the javascript: scheme. This results in a stored cross-site scripting XSS vulnerability exploitable by attackers with Item/Configure permission. TIP: On Jenkins 2.53...
Unsafe deserialization allows overwriting other agents
In Jenkins 2.579 and earlier, LTS 2.568.2 and earlier, the REST API and CLI endpoints for updating agent configuration do not prevent a submitted configuration from overwriting a different agent by specifying that agent's name in the submitted XML document. This allows attackers with...
Cross-origin exposure of CSRF token
Jenkins uses the https://github.com/jenkinsci/staplerStapler web framework for HTTP request handling. Stapler provides an HTTP endpoint serving dynamically generated JavaScript resources. In Stapler 1839.ved17667baeb5 through 2107.v8dfcbe8ed317 both inclusive, except 2088.2093.vd7c3e58008a6,...
Stored XSS vulnerability in system log viewer
In Jenkins 2.579 and earlier, LTS 2.568.2 and earlier, the system log viewer does not escape log record metadata source, level, and timestamp resulting in a stored cross-site scripting XSS vulnerability exploitable by attackers in control of agent processes. TIP: On Jenkins 2.539 and newer, LTS...
Lack of type restriction in deserialization allows creating user objects
In Jenkins 2.579 and earlier, LTS 2.568.2 and earlier, user objects can appear as nested field values in other deserialized XML objects, allowing attackers with Overall/Read permission to create user objects by submitting crafted XML. NOTE: These user objects are not actual Jenkins accounts and...
Missing permission check allows canceling builds
The build command of the Jenkins CLI can be invoked with the -s flag to wait for a triggered build to complete, canceling the build when the CLI client is interrupted. Jenkins merges multiple requests to build the same job with the same parameters into a single queue item. In Jenkins 2.579 and...
CSRF vulnerability in pipeline-groovy-lib
pipeline-groovy-lib 798.v5cc688825312 and earlier does not require POST requests for an HTTP endpoint, resulting in a cross-site request forgery CSRF vulnerability. This vulnerability allows attackers to delete shared library caches. pipeline-groovy-lib 805.vafc79344957d requires POST requests fo...
Improper access control in thinBackup
Jenkins uses the https://github.com/jenkinsci/staplerStapler web framework for HTTP request handling. Stapler's data-binding mechanism instantiates objects by invoking constructors annotated with @DataBoundConstructor, binding submitted data to their arguments, and setting additional properties...