HTTP request body disclosure in github.com/go-resty/resty/v2
Published Nov 28, 2023
5.9
MEDIUMCVSS 3.1
EPSS 0.72%
Description
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.
Affected products
-
- Version 2.10.0StatusaffectedConstraints<2.11.0
- Version
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Github.com/go-Resty/resty/v2 | Github.com/go-Resty/resty/v2 | unaffected |
|
- ≤ 2.10.0
No data.
MTA-7.0-RHEL-9
mta/mta-analyzer-addon-rhel9:7.0.3-13
Fixed · RHSA-2024:3316
MTA-7.0-RHEL-9
mta/mta-hub-rhel9:7.0.3-10
Fixed · RHSA-2024:3316
Red Hat Openshift distributed tracing 3.2
rhosdt/jaeger-agent-rhel8:1.57.0-5
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/jaeger-all-in-one-rhel8:1.57.0-5
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/jaeger-collector-rhel8:1.57.0-5
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/jaeger-es-index-cleaner-rhel8:1.57.0-6
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/jaeger-es-rollover-rhel8:1.57.0-6
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/jaeger-ingester-rhel8:1.57.0-5
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/jaeger-operator-bundle:1.57.0-20
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/jaeger-query-rhel8:1.57.0-5
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/jaeger-rhel8-operator:1.57.0-5
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/opentelemetry-collector-rhel8:0.100.1-4
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/opentelemetry-operator-bundle:0.100.1-9
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/opentelemetry-rhel8-operator:0.100.1-3
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/opentelemetry-target-allocator-rhel8:0.100.1-3
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/tempo-gateway-opa-rhel8:1.0.0-9
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/tempo-gateway-rhel8:1.0.0-8
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/tempo-operator-bundle:0.10.0-20
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/tempo-query-rhel8:0.10.0-8
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/tempo-rhel8-operator:0.10.0-6
Fixed · RHSA-2024:3621
Red Hat Openshift distributed tracing 3.2
rhosdt/tempo-rhel8:2.4.2-3
Fixed · RHSA-2024:3621
Migration Toolkit for Applications 6
mta/mta-hub-rhel9
Will not fix
Migration Toolkit for Applications 6
mta/mta-windup-addon-rhel8
Will not fix
Red Hat Ceph Storage 5
rhceph/rhceph-5-dashboard-rhel8
Not affected
Red Hat OpenShift Container Platform 4
openshift4/ose-prom-label-proxy-rhel9
Not affected
Red Hat OpenShift Container Platform 4
openshift4/ose-prometheus
Not affected
Red Hat OpenShift Dev Spaces
devspaces/traefik-rhel8
Not affected
Red Hat OpenShift distributed tracing 2
rhosdt/opentelemetry-rhel8-operator
Affected
Red Hat OpenShift distributed tracing 2
rhosdt/tempo-gateway-rhel8
Affected
| Product | Package | State | Advisory |
|---|---|---|---|
| MTA-7.0-RHEL-9 | mta/mta-analyzer-addon-rhel9:7.0.3-13 | Fixed | RHSA-2024:3316 |
| MTA-7.0-RHEL-9 | mta/mta-hub-rhel9:7.0.3-10 | Fixed | RHSA-2024:3316 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/jaeger-agent-rhel8:1.57.0-5 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/jaeger-all-in-one-rhel8:1.57.0-5 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/jaeger-collector-rhel8:1.57.0-5 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/jaeger-es-index-cleaner-rhel8:1.57.0-6 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/jaeger-es-rollover-rhel8:1.57.0-6 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/jaeger-ingester-rhel8:1.57.0-5 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/jaeger-operator-bundle:1.57.0-20 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/jaeger-query-rhel8:1.57.0-5 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/jaeger-rhel8-operator:1.57.0-5 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/opentelemetry-collector-rhel8:0.100.1-4 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/opentelemetry-operator-bundle:0.100.1-9 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/opentelemetry-rhel8-operator:0.100.1-3 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/opentelemetry-target-allocator-rhel8:0.100.1-3 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/tempo-gateway-opa-rhel8:1.0.0-9 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/tempo-gateway-rhel8:1.0.0-8 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/tempo-operator-bundle:0.10.0-20 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/tempo-query-rhel8:0.10.0-8 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/tempo-rhel8-operator:0.10.0-6 | Fixed | RHSA-2024:3621 |
| Red Hat Openshift distributed tracing 3.2 | rhosdt/tempo-rhel8:2.4.2-3 | Fixed | RHSA-2024:3621 |
| Migration Toolkit for Applications 6 | mta/mta-hub-rhel9 | Will not fix | n/a |
| Migration Toolkit for Applications 6 | mta/mta-windup-addon-rhel8 | Will not fix | n/a |
| Red Hat Ceph Storage 5 | rhceph/rhceph-5-dashboard-rhel8 | Not affected | n/a |
| Red Hat OpenShift Container Platform 4 | openshift4/ose-prom-label-proxy-rhel9 | Not affected | n/a |
| Red Hat OpenShift Container Platform 4 | openshift4/ose-prometheus | Not affected | n/a |
| Red Hat OpenShift Dev Spaces | devspaces/traefik-rhel8 | Not affected | n/a |
| Red Hat OpenShift distributed tracing 2 | rhosdt/opentelemetry-rhel8-operator | Affected | n/a |
| Red Hat OpenShift distributed tracing 2 | rhosdt/tempo-gateway-rhel8 | Affected | n/a |
github.com/go-resty/resty/v2
Go
Introduced 2.10.0 Fixed 2.11.0
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Go | github.com/go-resty/resty/v2 | 2.10.0 | 2.11.0 |
Remediation
No remediation recorded yet.
References (12)
- https://access.redhat.com/security/cve/CVE-2023-45286 Vendor Advisory
- https://bugzilla.redhat.com/show_bug.cgi?id=2252012 Issue Tracking
- https://euvd.enisa.europa.eu/vulnerability/EUVD-2023-3068 Advisory
- https://github.com/advisories/GHSA-xwh9-gc39-5298 Advisory
- https://github.com/go-resty/resty/commit/577fed8730d79f583eb48dfc81674164e1fc471e
- https://github.com/go-resty/resty/issues/739 ExploitIssue Tracking
- https://github.com/go-resty/resty/issues/743 Issue Tracking
- https://github.com/go-resty/resty/pull/745 Issue TrackingPatch
- https://github.com/go-resty/resty/releases/tag/v2.11.0
- https://nvd.nist.gov/vuln/detail/CVE-2023-45286
- https://pkg.go.dev/vuln/GO-2023-2328 Vendor Advisory
- https://www.cve.org/CVERecord?id=CVE-2023-45286
Change history (0)
No recorded changes yet.