CVE-2020-15586: Race Condition

Published Jul 14, 2020
·
Updated

A flaw was found Go's net/http package. Servers using ReverseProxy from net/http in the Go standard library are vulnerable to a data race that results in a denial of service. The highest threat from this vulnerability is to system availability.

Other sources

Go before 1.13.13 and 1.14.x before 1.14.5 has a data race in some net/http servers as demonstrated by the httputil.ReverseProxy Handler because it reads a request body and writes a response at the same time.

Microsoft

Go before 1.13.13 and 1.14.x before 1.14.5 has a data race in some net/http servers, as demonstrated by the httputil.ReverseProxy Handler, because it reads a request body and writes a response at the same time.

Golang Go is vulnerable to a denial of service, caused by a data race in some net/http servers. By sending specially-crafted HTTP requests, a remote attacker could exploit this vulnerability to cause a denial of service condition.

IBM

Servers where the Handler concurrently reads the request body and writes a response can encounter a data race and crash. The httputil.ReverseProxy Handler is affected.

References: https://github.com/golang/go/issues/34902 https://groups.google.com/forum/?utmmedium=email&utmsource=footer#!msg/golang-announce/XZNfaiwgt2w/E6gHDs32AQAJ

Red Hat

Affected Software

63 affected componentsFixes available
debian/golang-1.11
1.11.6-1+deb10u41.11.6-1+deb10u7
debian/golang-1.15
1.15.15-1~deb11u4
redhat/ior<0:1.1.11-2.el8
0:1.1.11-2.el8
redhat/servicemesh<0:1.1.11-2.el8
0:1.1.11-2.el8
redhat/servicemesh-cni<0:1.1.11-2.el8
0:1.1.11-2.el8
redhat/servicemesh-grafana<0:6.4.3-19.el8
0:6.4.3-19.el8
redhat/servicemesh-operator<0:1.1.11-3.el8
0:1.1.11-3.el8
redhat/servicemesh-prometheus<0:2.14.0-20.el8
0:2.14.0-20.el8
redhat/go-toolset<1.13-0:1.13.15-1.el7
1.13-0:1.13.15-1.el7
redhat/go-toolset<1.13-golang-0:1.13.15-3.el7
1.13-golang-0:1.13.15-3.el7
redhat/faq<0:0.0.6-5.el7
0:0.0.6-5.el7
redhat/openshift<0:4.4.0-202011130111.p0.git.0.4861dfa.el7
0:4.4.0-202011130111.p0.git.0.4861dfa.el7
redhat/openshift-clients<0:4.4.0-202011122017.p0.git.3445.6937a03.el7
0:4.4.0-202011122017.p0.git.3445.6937a03.el7
redhat/atomic-enterprise-service-catalog<1:4.5.0-202010081312.p0.git.1808.498e523.el7
1:4.5.0-202010081312.p0.git.1808.498e523.el7
redhat/atomic-openshift-service-idler<0:4.5.0-202010081312.p0.git.15.d7814b2.el7
0:4.5.0-202010081312.p0.git.15.d7814b2.el7
redhat/cri-o<0:1.18.4-4.rhaos4.5.git6dee389.el8
0:1.18.4-4.rhaos4.5.git6dee389.el8
redhat/apb<0:2.0.3-3.el7
0:2.0.3-3.el7
redhat/buildah<0:1.11.6-9.rhaos4.5.el8
0:1.11.6-9.rhaos4.5.el8
redhat/containernetworking-plugins<0:0.8.6-2.rhaos4.5.el8
0:0.8.6-2.rhaos4.5.el8
redhat/cri-o<0:1.18.4-7.rhaos4.5.git572d9f7.el7
0:1.18.4-7.rhaos4.5.git572d9f7.el7
redhat/cri-tools<0:1.18.0-4.el8
0:1.18.0-4.el8
redhat/golang-github-prometheus-promu<0:0.5.0-3.git642a960.el7
0:0.5.0-3.git642a960.el7
redhat/openshift<0:4.5.0-202102261511.p0.git.0.f0229b9.el8
0:4.5.0-202102261511.p0.git.0.f0229b9.el8
redhat/ignition<0:0.35.1-12.rhaos4.5.gitb4d18ad.el8
0:0.35.1-12.rhaos4.5.gitb4d18ad.el8
redhat/kubefed-client<0:4.5.0-202002271711.git.2.3bd46d6.el7
0:4.5.0-202002271711.git.2.3bd46d6.el7
redhat/openshift-eventrouter<0:0.2-5.git7c289cc.el7
0:0.2-5.git7c289cc.el7
redhat/podman<0:1.9.3-2.rhaos4.5.el8
0:1.9.3-2.rhaos4.5.el8
redhat/skopeo<1:1.1.1-2.rhaos4.5.el8
1:1.1.1-2.rhaos4.5.el8
redhat/machine-config-daemon<0:4.5.0-202012050338.p0.git.2581.e7a62a7.el8
0:4.5.0-202012050338.p0.git.2581.e7a62a7.el8
redhat/ignition<0:2.6.0-5.rhaos4.6.git947598e.el8
0:2.6.0-5.rhaos4.6.git947598e.el8
redhat/openshift<0:4.6.0-202010022112.p0.git.94033.ef41184.el7
0:4.6.0-202010022112.p0.git.94033.ef41184.el7
redhat/openshift-clients<0:4.6.0-202010081244.p0.git.3794.4743d24.el8
0:4.6.0-202010081244.p0.git.3794.4743d24.el8
redhat/podman<0:1.9.3-3.rhaos4.6.el8
0:1.9.3-3.rhaos4.6.el8
redhat/skopeo<1:1.1.1-3.rhaos4.6.el8
1:1.1.1-3.rhaos4.6.el8
redhat/openshift-eventrouter<0:0.2-6.git7c289cc.el8
0:0.2-6.git7c289cc.el8
redhat/cri-o<0:1.20.2-12.rhaos4.7.git9f7be76.el7
0:1.20.2-12.rhaos4.7.git9f7be76.el7
redhat/cri-tools<0:1.20.0-3.el7
0:1.20.0-3.el7
redhat/jenkins<2-plugins-0:4.7.1621361158-1.el8
2-plugins-0:4.7.1621361158-1.el8
redhat/redhat-release-coreos<0:47.83-2.el8
0:47.83-2.el8
redhat/golang-github-prometheus-promu<0:0.5.0-3.git642a960.el8
0:0.5.0-3.git642a960.el8
redhat/mcg<0:5.6.0-39.2279a46.5.6.el8
0:5.6.0-39.2279a46.5.6.el8
redhat/kubevirt<0:4.9.0-287.el8
0:4.9.0-287.el8
IBM Security Guardium Insights<=2.0.2
Golang Go<1.13.13
Golang Go>=1.14.0<1.14.5
Cloudfoundry Cf-deployment<13.7.0
Cloudfoundry Routing-release<0.203.0
Debian Debian Linux=9.0
Debian Debian Linux=10.0
openSUSE Leap=15.1
openSUSE Leap=15.2
Fedoraproject Fedora=31
Fedoraproject Fedora=32
redhat/Go<1.14.5
1.14.5
redhat/Go<1.13.13
1.13.13
redhat/Go<1.15
1.15
Microsoft cm1 golang 1.15.13-1<1.15.13-1
1.15.13-1
Microsoft python3-tensorboard-data-server-2.16.2-2.azl3.x86_64.rpm<2.16.2-2
2.16.2-2
Microsoft azl3 python-tensorboard 2.16.2-1<2.16.2-1
2.16.2-1
Microsoft azl3 python-tensorboard 2.11.0-3<2.16.2-1
2.16.2-1
Microsoft python3-tensorboard-2.16.2-2.azl3.x86_64.rpm<2.16.2-2
2.16.2-2
Microsoft golang-1.15.13-1.cm1.aarch64.rpm<1.15.13-1
1.15.13-1
Microsoft golang-1.15.13-1.cm1.x86_64.rpm<1.15.13-1
1.15.13-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/golang-1.11 to a version that resolves this vulnerability.

    Fixed in 1.11.6-1+deb10u4Fixed in 1.11.6-1+deb10u7
  2. Upgrade

    Upgrade debian/golang-1.15 to a version that resolves this vulnerability.

    Fixed in 1.15.15-1~deb11u4
  3. Upgrade

    Upgrade redhat/ior to a version that resolves this vulnerability.

    Fixed in 0:1.1.11-2.el8
  4. Upgrade

    Upgrade redhat/servicemesh to a version that resolves this vulnerability.

    Fixed in 0:1.1.11-2.el8
  5. Upgrade

    Upgrade redhat/servicemesh-cni to a version that resolves this vulnerability.

    Fixed in 0:1.1.11-2.el8
  6. Upgrade

    Upgrade redhat/servicemesh-grafana to a version that resolves this vulnerability.

    Fixed in 0:6.4.3-19.el8
  7. Upgrade

    Upgrade redhat/servicemesh-operator to a version that resolves this vulnerability.

    Fixed in 0:1.1.11-3.el8
  8. Upgrade

    Upgrade redhat/servicemesh-prometheus to a version that resolves this vulnerability.

    Fixed in 0:2.14.0-20.el8
  9. Upgrade

    Upgrade redhat/go-toolset to a version that resolves this vulnerability.

    Fixed in 1.13-0:1.13.15-1.el7
  10. Upgrade

    Upgrade redhat/go-toolset to a version that resolves this vulnerability.

    Fixed in 1.13-golang-0:1.13.15-3.el7
  11. Upgrade

    Upgrade redhat/faq to a version that resolves this vulnerability.

    Fixed in 0:0.0.6-5.el7
  12. Upgrade

    Upgrade redhat/openshift to a version that resolves this vulnerability.

    Fixed in 0:4.4.0-202011130111.p0.git.0.4861dfa.el7
  13. Upgrade

    Upgrade redhat/openshift-clients to a version that resolves this vulnerability.

    Fixed in 0:4.4.0-202011122017.p0.git.3445.6937a03.el7
  14. Upgrade

    Upgrade redhat/atomic-enterprise-service-catalog to a version that resolves this vulnerability.

    Fixed in 1:4.5.0-202010081312.p0.git.1808.498e523.el7
  15. Upgrade

    Upgrade redhat/atomic-openshift-service-idler to a version that resolves this vulnerability.

    Fixed in 0:4.5.0-202010081312.p0.git.15.d7814b2.el7
  16. Upgrade

    Upgrade redhat/cri-o to a version that resolves this vulnerability.

    Fixed in 0:1.18.4-4.rhaos4.5.git6dee389.el8
  17. Upgrade

    Upgrade redhat/apb to a version that resolves this vulnerability.

    Fixed in 0:2.0.3-3.el7
  18. Upgrade

    Upgrade redhat/buildah to a version that resolves this vulnerability.

    Fixed in 0:1.11.6-9.rhaos4.5.el8
  19. Upgrade

    Upgrade redhat/containernetworking-plugins to a version that resolves this vulnerability.

    Fixed in 0:0.8.6-2.rhaos4.5.el8
  20. Upgrade

    Upgrade redhat/cri-o to a version that resolves this vulnerability.

    Fixed in 0:1.18.4-7.rhaos4.5.git572d9f7.el7
  21. Upgrade

    Upgrade redhat/cri-tools to a version that resolves this vulnerability.

    Fixed in 0:1.18.0-4.el8
  22. Upgrade

    Upgrade redhat/golang-github-prometheus-promu to a version that resolves this vulnerability.

    Fixed in 0:0.5.0-3.git642a960.el7
  23. Upgrade

    Upgrade redhat/openshift to a version that resolves this vulnerability.

    Fixed in 0:4.5.0-202102261511.p0.git.0.f0229b9.el8
  24. Upgrade

    Upgrade redhat/ignition to a version that resolves this vulnerability.

    Fixed in 0:0.35.1-12.rhaos4.5.gitb4d18ad.el8
  25. Upgrade

    Upgrade redhat/kubefed-client to a version that resolves this vulnerability.

    Fixed in 0:4.5.0-202002271711.git.2.3bd46d6.el7
  26. Upgrade

    Upgrade redhat/openshift-eventrouter to a version that resolves this vulnerability.

    Fixed in 0:0.2-5.git7c289cc.el7
  27. Upgrade

    Upgrade redhat/podman to a version that resolves this vulnerability.

    Fixed in 0:1.9.3-2.rhaos4.5.el8
  28. Upgrade

    Upgrade redhat/skopeo to a version that resolves this vulnerability.

    Fixed in 1:1.1.1-2.rhaos4.5.el8
  29. Upgrade

    Upgrade redhat/machine-config-daemon to a version that resolves this vulnerability.

    Fixed in 0:4.5.0-202012050338.p0.git.2581.e7a62a7.el8
  30. Upgrade

    Upgrade redhat/ignition to a version that resolves this vulnerability.

    Fixed in 0:2.6.0-5.rhaos4.6.git947598e.el8
  31. Upgrade

    Upgrade redhat/openshift to a version that resolves this vulnerability.

    Fixed in 0:4.6.0-202010022112.p0.git.94033.ef41184.el7
  32. Upgrade

    Upgrade redhat/openshift-clients to a version that resolves this vulnerability.

    Fixed in 0:4.6.0-202010081244.p0.git.3794.4743d24.el8
  33. Upgrade

    Upgrade redhat/podman to a version that resolves this vulnerability.

    Fixed in 0:1.9.3-3.rhaos4.6.el8
  34. Upgrade

    Upgrade redhat/skopeo to a version that resolves this vulnerability.

    Fixed in 1:1.1.1-3.rhaos4.6.el8
  35. Upgrade

    Upgrade redhat/openshift-eventrouter to a version that resolves this vulnerability.

    Fixed in 0:0.2-6.git7c289cc.el8
  36. Upgrade

    Upgrade redhat/cri-o to a version that resolves this vulnerability.

    Fixed in 0:1.20.2-12.rhaos4.7.git9f7be76.el7
  37. Upgrade

    Upgrade redhat/cri-tools to a version that resolves this vulnerability.

    Fixed in 0:1.20.0-3.el7
  38. Upgrade

    Upgrade redhat/jenkins to a version that resolves this vulnerability.

    Fixed in 2-plugins-0:4.7.1621361158-1.el8
  39. Upgrade

    Upgrade redhat/redhat-release-coreos to a version that resolves this vulnerability.

    Fixed in 0:47.83-2.el8
  40. Upgrade

    Upgrade redhat/golang-github-prometheus-promu to a version that resolves this vulnerability.

    Fixed in 0:0.5.0-3.git642a960.el8
  41. Upgrade

    Upgrade redhat/mcg to a version that resolves this vulnerability.

    Fixed in 0:5.6.0-39.2279a46.5.6.el8
  42. Upgrade

    Upgrade redhat/kubevirt to a version that resolves this vulnerability.

    Fixed in 0:4.9.0-287.el8
  43. Upgrade

    Upgrade redhat/Go to a version that resolves this vulnerability.

    Fixed in 1.14.5
  44. Upgrade

    Upgrade redhat/Go to a version that resolves this vulnerability.

    Fixed in 1.13.13
  45. Upgrade

    Upgrade redhat/Go to a version that resolves this vulnerability.

    Fixed in 1.15
  46. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 1.15.13-1
  47. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 2.16.2-2
  48. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 2.16.2-1

Event History

Jul 14, 2020
CVE Published
12:00 AM
Data Sourced
via Red Hat·06:47 PM
DescriptionSeverityAffected Software
Jul 17, 2020
CVE Published
via MITRE·03:38 PM
Data Sourced
via MITRE·03:38 PM
Description
Aug 18, 2020
Data Sourced
via Microsoft·12:00 AM
DescriptionSeverityWeaknessAffected Software
Updated
via Microsoft·12:00 AM
Affected Software
Updated
via Microsoft·07:00 AM
DescriptionSeverityWeakness
Updated
via Microsoft·07:00 AM
SeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2020-15586?

CVE-2020-15586 is classified as a denial of service vulnerability due to a data race in some net/http servers.

2

How do I fix CVE-2020-15586?

To fix CVE-2020-15586, upgrade to Go version 1.13.13, 1.14.5, or later versions.

3

Which packages are affected by CVE-2020-15586?

CVE-2020-15586 affects various versions of the Go programming language and its implementations in multiple deployment environments.

4

What are the potential impacts of CVE-2020-15586?

Exploitation of CVE-2020-15586 can lead to a denial of service condition affecting the stability and availability of the affected services.

5

Is there a workaround for CVE-2020-15586 if I cannot upgrade?

There are no specific workarounds for CVE-2020-15586 other than applying the available patches through software updates.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203