Vulnerability Details : CVE-2022-39308
GoCD is a continuous delivery server. GoCD helps you automate and streamline the build-test-release cycle for continuous delivery of your product. GoCD versions from 19.2.0 to 19.10.0 (inclusive) are subject to a timing attack in validation of access tokens due to use of regular string comparison for validation of the token rather than a constant time algorithm. This could allow a brute force attack on GoCD server API calls to observe timing differences in validations in order to guess an access token generated by a user for API access. This issue is fixed in GoCD version 19.11.0. As a workaround, users can apply rate limiting or insert random delays to API calls made to GoCD Server via a reverse proxy or other fronting web server. Another workaround, users may disallow use of access tokens by users by having an administrator revoke all access tokens through the "Access Token Management" admin function.
Exploit prediction scoring system (EPSS) score for CVE-2022-39308
Probability of exploitation activity in the next 30 days: 0.11%
Percentile, the proportion of vulnerabilities that are scored at or less: ~ 43 % EPSS Score History EPSS FAQ
CVSS scores for CVE-2022-39308
Base Score | Base Severity | CVSS Vector | Exploitability Score | Impact Score | Score Source |
---|---|---|---|---|---|
5.9
|
MEDIUM | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |
2.2
|
3.6
|
NIST |
6.5
|
MEDIUM | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N |
2.2
|
4.2
|
GitHub, Inc. |
CWE ids for CVE-2022-39308
-
The product behaves differently or sends different responses under different circumstances in a way that is observable to an unauthorized actor, which exposes security-relevant information about the state of the product, such as whether a particular operation was successful or not.Assigned by: nvd@nist.gov (Primary)
-
Two separate operations in a product require different amounts of time to complete, in a way that is observable to an actor and reveals security-relevant information about the state of the product, such as whether a particular operation was successful or not.Assigned by: security-advisories@github.com (Secondary)
-
The product compares two entities in a security-relevant context, but the comparison is incorrect, which may lead to resultant weaknesses.Assigned by: nvd@nist.gov (Primary)
-
The product's comparison logic is performed over a series of steps rather than across the entire string in one operation. If there is a comparison logic failure on one of these steps, the operation may be vulnerable to a timing attack that can result in the interception of the process for nefarious purposes.Assigned by: security-advisories@github.com (Secondary)
References for CVE-2022-39308
-
https://github.com/gocd/gocd/releases/tag/19.11.0
Release GoCD 19.11.0 · gocd/gocd · GitHubRelease Notes;Third Party Advisory
-
https://www.gocd.org/releases/#19-11-0
Releases - Version notes | GoCDRelease Notes;Vendor Advisory
-
https://github.com/gocd/gocd/security/advisories/GHSA-999p-fp84-jcpq
API authentication of user access tokens subject to timing attack during comparison · Advisory · gocd/gocd · GitHubThird Party Advisory
-
https://github.com/gocd/gocd/commit/236d4baf92e6607f2841c151c855adcc477238b8
Access Token APIs (#5797) · gocd/gocd@236d4ba · GitHubPatch;Third Party Advisory
Products affected by CVE-2022-39308
- cpe:2.3:a:thoughtworks:gocd:*:*:*:*:*:*:*:*