Vulnerability Details CVE-2023-45286
A race condition in go-resty can result in HTTP request body disclosure across requests. This condition can be triggered by calling sync.Pool.Put with the same *bytes.Buffer more than once, when request retries are enabled and a retry occurs. The call to sync.Pool.Get will then return a bytes.Buffer that hasn't had bytes.Buffer.Reset called on it. This dirty buffer will contain the HTTP request body from an unrelated request, and go-resty will append the current HTTP request body to it, sending two bodies in one request. The sync.Pool in question is defined at package level scope, so a completely unrelated server could receive the request body.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.002
EPSS Ranking 38.8%
CVSS Severity
CVSS v3 Score 5.9
Products affected by CVE-2023-45286
-
cpe:2.3:a:resty_project:resty:-
-
cpe:2.3:a:resty_project:resty:0.1
-
cpe:2.3:a:resty_project:resty:0.10
-
cpe:2.3:a:resty_project:resty:0.11
-
cpe:2.3:a:resty_project:resty:0.12
-
cpe:2.3:a:resty_project:resty:0.13
-
cpe:2.3:a:resty_project:resty:0.2
-
cpe:2.3:a:resty_project:resty:0.2.1
-
cpe:2.3:a:resty_project:resty:0.2.2
-
cpe:2.3:a:resty_project:resty:0.3
-
cpe:2.3:a:resty_project:resty:0.4
-
cpe:2.3:a:resty_project:resty:0.4.1
-
cpe:2.3:a:resty_project:resty:0.5
-
cpe:2.3:a:resty_project:resty:0.5.1
-
cpe:2.3:a:resty_project:resty:0.5.2
-
cpe:2.3:a:resty_project:resty:0.6
-
cpe:2.3:a:resty_project:resty:0.6.0
-
cpe:2.3:a:resty_project:resty:0.6.1
-
cpe:2.3:a:resty_project:resty:0.6.2
-
cpe:2.3:a:resty_project:resty:0.6.3
-
cpe:2.3:a:resty_project:resty:0.6.4
-
cpe:2.3:a:resty_project:resty:0.6.5
-
cpe:2.3:a:resty_project:resty:0.6.6
-
cpe:2.3:a:resty_project:resty:0.7.0
-
cpe:2.3:a:resty_project:resty:0.7.1
-
cpe:2.3:a:resty_project:resty:0.7.10
-
cpe:2.3:a:resty_project:resty:0.7.11
-
cpe:2.3:a:resty_project:resty:0.7.12
-
cpe:2.3:a:resty_project:resty:0.7.13
-
cpe:2.3:a:resty_project:resty:0.7.14
-
cpe:2.3:a:resty_project:resty:0.7.15
-
cpe:2.3:a:resty_project:resty:0.7.2
-
cpe:2.3:a:resty_project:resty:0.7.3
-
cpe:2.3:a:resty_project:resty:0.7.4
-
cpe:2.3:a:resty_project:resty:0.7.5
-
cpe:2.3:a:resty_project:resty:0.7.6
-
cpe:2.3:a:resty_project:resty:0.7.7
-
cpe:2.3:a:resty_project:resty:0.7.8
-
cpe:2.3:a:resty_project:resty:0.7.9
-
cpe:2.3:a:resty_project:resty:0.8.0
-
cpe:2.3:a:resty_project:resty:0.8.1
-
cpe:2.3:a:resty_project:resty:0.8.10
-
cpe:2.3:a:resty_project:resty:0.8.11
-
cpe:2.3:a:resty_project:resty:0.8.12
-
cpe:2.3:a:resty_project:resty:0.8.13
-
cpe:2.3:a:resty_project:resty:0.8.14
-
cpe:2.3:a:resty_project:resty:0.8.15
-
cpe:2.3:a:resty_project:resty:0.8.16
-
cpe:2.3:a:resty_project:resty:0.8.17
-
cpe:2.3:a:resty_project:resty:0.8.18
-
cpe:2.3:a:resty_project:resty:0.8.19
-
cpe:2.3:a:resty_project:resty:0.8.2
-
cpe:2.3:a:resty_project:resty:0.8.20
-
cpe:2.3:a:resty_project:resty:0.8.21
-
cpe:2.3:a:resty_project:resty:0.8.22
-
cpe:2.3:a:resty_project:resty:0.8.23
-
cpe:2.3:a:resty_project:resty:0.8.3
-
cpe:2.3:a:resty_project:resty:0.8.4
-
cpe:2.3:a:resty_project:resty:0.8.5
-
cpe:2.3:a:resty_project:resty:0.8.6
-
cpe:2.3:a:resty_project:resty:0.8.7
-
cpe:2.3:a:resty_project:resty:0.8.8
-
cpe:2.3:a:resty_project:resty:0.8.9
-
cpe:2.3:a:resty_project:resty:0.9.0
-
cpe:2.3:a:resty_project:resty:0.9.1
-
cpe:2.3:a:resty_project:resty:0.9.2
-
cpe:2.3:a:resty_project:resty:0.9.3
-
cpe:2.3:a:resty_project:resty:0.9.4
-
cpe:2.3:a:resty_project:resty:0.9.5
-
cpe:2.3:a:resty_project:resty:1.0
-
cpe:2.3:a:resty_project:resty:1.1
-
cpe:2.3:a:resty_project:resty:1.10.0
-
cpe:2.3:a:resty_project:resty:1.10.1
-
cpe:2.3:a:resty_project:resty:1.10.2
-
cpe:2.3:a:resty_project:resty:1.10.3
-
cpe:2.3:a:resty_project:resty:1.11.0
-
cpe:2.3:a:resty_project:resty:1.12.0
-
cpe:2.3:a:resty_project:resty:1.2
-
cpe:2.3:a:resty_project:resty:1.3
-
cpe:2.3:a:resty_project:resty:1.4
-
cpe:2.3:a:resty_project:resty:1.5
-
cpe:2.3:a:resty_project:resty:1.6
-
cpe:2.3:a:resty_project:resty:1.7.0
-
cpe:2.3:a:resty_project:resty:1.8.0
-
cpe:2.3:a:resty_project:resty:1.9.0
-
cpe:2.3:a:resty_project:resty:1.9.1
-
cpe:2.3:a:resty_project:resty:2.0.0
-
cpe:2.3:a:resty_project:resty:2.1.0
-
cpe:2.3:a:resty_project:resty:2.10.0
-
cpe:2.3:a:resty_project:resty:2.2.0
-
cpe:2.3:a:resty_project:resty:2.3.0
-
cpe:2.3:a:resty_project:resty:2.4.0
-
cpe:2.3:a:resty_project:resty:2.5.0
-
cpe:2.3:a:resty_project:resty:2.6.0
-
cpe:2.3:a:resty_project:resty:2.7.0
-
cpe:2.3:a:resty_project:resty:2.8.0
-
cpe:2.3:a:resty_project:resty:2.9.0
-
cpe:2.3:a:resty_project:resty:2.9.1