Non-constant time webhook token comparison in Jenkins GitLab Branch Source Plugin
Jenkins GitLab Branch Source Plugin 684.vea_fa_7c1e2fe3 and earlier does not use a constant-time comparison function when checking whether the provided and expected webhook token are equal.
This could potentially allow attackers to use statistical methods to obtain a valid webhook token.
GitLab Branch Source Plugin 688.v5fa_356ee8520 uses a constant-time comparison function when validating the webhook token.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Java / Kotlin (Maven) | io.jenkins.plugins:gitlab-branch-source | < 688.v5fa | 688.v5fa |
References
- https://nvd.nist.gov/vuln/detail/CVE-2024-23903
- https://github.com/jenkinsci/gitlab-branch-source-plugin/commit/8bfe1046cf342b99419457b9336addbbf346f89a
- https://github.com/jenkinsci/gitlab-branch-source-plugin
- https://www.jenkins.io/security/advisory/2024-01-24/#SECURITY-2871
- http://www.openwall.com/lists/oss-security/2024/01/24/6
- CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N- Weakness (CWE)
CWE-697- Platform
- Java / Kotlin (Maven)
- Package
io.jenkins.plugins:gitlab-branch-source- Disclosed
- 24.01.2024
- Updated
- 11.10.2026 11:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-f67f-2j6r-m4c9 - CC BY 4.0
Vulnerability history: io.jenkins.plugins:gitlab-branch-source
All published vulnerabilities of this package (Java / Kotlin (Maven)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 3
- First → latest
- 01.2024 01.2024
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- Medium 2
- Low 1
Disclosures per year
- 2024: 3
- 2025: 0
- 2026: 0
-
Non-constant time webhook token comparison in Jenkins GitLab Branch Source Plugin this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.