Description
A bug in the standard library ScalarMult implementation of curve P-256 for amd64 architectures in Go before 1.7.6 and 1.8.x before 1.8.2 causes incorrect results to be generated for specific input points. An adaptive attack can be mounted to progressively extract the scalar input to ScalarMult by submitting crafted points and observing failures to the derive correct output. This leads to a full key recovery attack against static ECDH, as used in popular JWT libraries.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | golang-1.6 | No fix yet | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 7 | golang +5 | 1.8.3-1.el7 | RHSA-2017:1859 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 12 | containerd | 0.2.5+gitr639_422e31c-20.2 | SUSE-RU-2017:1965-1 |
| SLES 12 | docker | 17.04.0_ce-98.2 | SUSE-RU-2017:1965-1 |
| SLES 12 | docker-distribution | 2.6.1-15.2 | SUSE-RU-2017:1965-1 |
| SLES 12 | golang-github-docker-libnetwork | 0.0.0+git20170119.7b2b1fe-4.1 | SUSE-RU-2017:1965-1 |
| SLES 12 | runc | 0.1.1+gitr2947_9c2d8d1-20.3 | SUSE-RU-2017:1965-1 |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SUSE Package Hub 12 | go | 1.7.0-12.1 | openSUSE-SU-2017:1650-1, openSUSE-SU-2017:1649-1 |
| SUSE OpenStack Cloud 6 | containerd | 0.2.5+gitr639_422e31c-20.2 | SUSE-RU-2017:1965-1 |
| SUSE OpenStack Cloud 6 | docker | 17.04.0_ce-98.2 | SUSE-RU-2017:1965-1 |
| SUSE OpenStack Cloud 6 | golang-github-docker-libnetwork | 0.0.0+git20170119.7b2b1fe-4.1 | SUSE-RU-2017:1965-1 |
| SUSE OpenStack Cloud 6 | runc | 0.1.1+gitr2947_9c2d8d1-20.3 | SUSE-RU-2017:1965-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | go | 1.17-1.1 | openSUSE-SU-2024:10802-1 |
| openSUSE Tumbleweed | go1.10 | 1.10.8-8.2 | openSUSE-SU-2024:10803-1 |
| openSUSE Tumbleweed | go1.11 | 1.11.13-10.5 | openSUSE-SU-2024:10804-1 |
| openSUSE Tumbleweed | go1.12 | 1.12.17-4.8 | openSUSE-SU-2024:10805-1 |
| openSUSE Tumbleweed | go1.9 | 1.9.7-11.2 | openSUSE-SU-2024:10812-1 |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 7 | golang +5 | 1.8.3-1.el7 | ELSA-2017-1859 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Go | stdlib | >= 1.6.0-0, < 1.7.6 · >= 1.8.0-0, < 1.8.2 | 1.7.6, 1.8.2 | GO-2022-0187 |
Advisories 10
- RHSA-2017:1859 Red Hat Security Advisory: golang security, bug fix, and enhancement update Red Hat Security Advisories (RHSA) · May 13, 2026
- openSUSE-SU-2024:10803-1 go1.10-1.10.8-8.2 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:10812-1 go1.9-1.9.7-11.2 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2017:1649-1 Security update for go SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2017:1650-1 Security update for go SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:10804-1 go1.11-1.11.13-10.5 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-RU-2017:1965-1 Recommended update for Docker, RunC, Containerd SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:10805-1 go1.12-1.12.17-4.8 on GA media SUSE / openSUSE Security Updates · Feb 4, 2026
- openSUSE-SU-2024:10802-1 go-1.17-1.1 on GA media SUSE / openSUSE Security Updates · May 7, 2025
- ELSA-2017-1859 Moderate: golang security, bug fix, and enhancement update (Oracle Linux 7) Oracle Linux Security Advisories (ELSA) · Aug 9, 2017
References
- [golang-announce] 20170523 [security] Go 1.7.6 and Go 1.8.2 are released mailing-list
- https://github.com/golang/go/commit/9294fa2749ffee7edbbb817a0ef9fe633136fa9c
- RHSA-2017:1859 vendor-advisory
- openSUSE-SU-2017:1650 vendor-advisory
- openSUSE-SU-2017:1649 vendor-advisory
- https://bugzilla.redhat.com/show_bug.cgi?id=1455191
- https://github.com/golang/go/issues/20040
- https://go-review.googlesource.com/c/41070/
- FEDORA-2017-278f46fcd6 vendor-advisory