CVE-2017-8932
A bug in the standard library ScalarMult implementation of curve P-256 for amd64 architectures in...
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
5.9
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.
- Record
CVE-2017-8932- CVSS 3.0
- 5.9 Medium
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:P/I:N/A:N - Weakness
- CWE-682
- Updated
- 2026-11-02
CVE List No score
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.
- Record
CVE-2017-8932- Updated
- 2026-11-02
EUVDEUVD-2017-17872 No score
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.
- Record
EUVD-2017-17872- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-25hf-x7c8-5f3h
5.9
A bug in the standard library ScalarMult implementation of curve P-256 for amd64 architectures in...
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.
- Record
GHSA-25hf-x7c8-5f3h- CVSS 3.0
- 5.9 Medium
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-682
- Updated
- 2026-11-02
OSVBELL-CVE-2017-8932
5.9
CVE-2017-8932 does not affect BellSoft software
- Record
BELL-CVE-2017-8932- CVSS 3.0
- 5.9 Medium
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSV
5.9
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.
- Record
CVE-2017-8932- CVSS 3.0
- 5.9 Medium
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Show 12 moreShow less
OSVRHSA-2017:1859
5.9
Red Hat Security Advisory: golang security, bug fix, and enhancement update
- Record
RHSA-2017:1859- CVSS 3.0
- 5.9 Medium
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2017-8932
5.9
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.
- Record
UBUNTU-CVE-2017-8932- CVSS 3.0
- 5.9 Medium
CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVGO-2022-0187 No score
Incorrect computation for P-256 curves in crypto/elliptic
The ScalarMult implementation of curve P-256 for amd64 architectures generates incorrect results for certain specific input points. An adaptive attack can progressively extract the scalar input to ScalarMult by submitting crafted points and observing failures to derive correct output. This leads to a full key recovery attack against static ECDH, as used in popular JWT libraries.
- Record
GO-2022-0187- Updated
- 2026-11-02
OSVMGASA-2017-0195 No score
Updated golang packages fix security vulnerability
A carry propagation issue was found in the P-256 implementation for x86-64 in golang (CVE-2017-8932).
- Record
MGASA-2017-0195- Updated
- 2026-11-02
OSVopenSUSE-SU-2017:1649-1 No score
Security update for go
This update for go fixes the following issues:
- CVE-2017-8932: Add patch to fix carry bug in x86-64 P-256 implementation (boo#1040618)
Please note that go applications will need to be rebuilt to get this fix, as all go applications are statically linked.
As we are regulary releasing updates to our distribution go applications they are not specifically included here.
- Record
openSUSE-SU-2017:1649-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2017:1650-1 No score
Security update for go
This update for go fixes the following issues:
- CVE-2017-8932: Add patch to fix carry bug in x86-64 P-256 implementation (boo#1040618)
Please note that go applications will need to be rebuilt to get this fix, as all go applications are statically linked.
As we are regulary releasing updates to our distribution go applications they are not specifically included here.
- Record
openSUSE-SU-2017:1650-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10802-1 No score
go-1.17-1.1 on GA media
These are all security issues fixed in the go-1.17-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10802-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10803-1 No score
go1.10-1.10.8-8.2 on GA media
These are all security issues fixed in the go1.10-1.10.8-8.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10803-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10804-1 No score
go1.11-1.11.13-10.5 on GA media
These are all security issues fixed in the go1.11-1.11.13-10.5 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10804-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10805-1 No score
go1.12-1.12.17-4.8 on GA media
These are all security issues fixed in the go1.12-1.12.17-4.8 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10805-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10812-1 No score
go1.9-1.9.7-11.2 on GA media
These are all security issues fixed in the go1.9-1.9.7-11.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10812-1- Updated
- 2026-11-02
OSVSUSE-RU-2017:1965-1 No score
Recommended update for Docker, RunC, Containerd
This update for Containerd, Docker and RunC provides several fixes and enhancements.
Containerd:
- Update containerd to the version needed for docker-v17.04.0-ce. (bsc#1034053)
- Fix spurious messages filling journal. (bsc#1032769)
- Set TasksMax=infinity to make sure runC doesn't start failing randomly.
Docker:
- Update to version 17.04.0-ce. (bsc#1034053)
- Fix execids leaks due to bad error handling. (bsc#1037436)
- Make Apparmor's pkg/aaparser work on read-only root. (bsc#1037607)
- Improve Docker's systemd configuration. (bsc#1032287)
- Check if the docker binary is available before attempting to use it. (bsc#1038476)
- Build man pages for all architectures. (bsc#953182)
- Fix DNS resolution when Docker host uses 127.0.0.1 as resolver. (bsc#1034063)
- Enable Delegate=yes, since systemd will safely ignore lvalues it doesn't understand.
- Update SUSE secrets patch to handle bsc#1030702.
- Change lvm2 from Requires to Recommends: Docker usually uses a default storage driver, when it's not configured explicitly. This default driver then depends on the underlying system and gets chosen during installation. (bsc#1032644)
- Disable libseccomp for Leap 42.1, SLE 12 and 12-SP1, because docker needs a higher version. Otherwise, we get the error 'conditional filtering requires libseccomp version >= 2.2.1. (bsc#1028639, bsc#1028638)
- Add a backport of fix to AppArmor lazy loading docker-exec case.
- Fix systemd TasksMax default which could throttle docker. (bsc#1026827)
- Enable pkcs11
For a comprehensive list of changes please refer to /usr/share/doc/packages/docker/CHANGELOG.md
RunC:
- Update version to the one required by docker-17.04.0-ce. (bsc#1034053)
- Make sure to ignore cgroup v2 mountpoints. (bsc#1028113)
- Record
SUSE-RU-2017:1965-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
stdlibGo |
1.6.0-0 up to 1.7.6, 1.8.0-0 up to 1.8.2 | 1.7.61.8.2 |
golangMageia:5 |
before 1.6.4-2.mga5 | 1.6.4-2.mga5 |
golangRed Hat:enterprise_linux:7::server |
before 0:1.8.3-1.el7 | 0:1.8.3-1.el7 |
golang-binRed Hat:enterprise_linux:7::server |
before 0:1.8.3-1.el7 | 0:1.8.3-1.el7 |
golang-docsRed Hat:enterprise_linux:7::server |
before 0:1.8.3-1.el7 | 0:1.8.3-1.el7 |
golang-miscRed Hat:enterprise_linux:7::server |
before 0:1.8.3-1.el7 | 0:1.8.3-1.el7 |
golang-srcRed Hat:enterprise_linux:7::server |
before 0:1.8.3-1.el7 | 0:1.8.3-1.el7 |
golang-testsRed Hat:enterprise_linux:7::server |
before 0:1.8.3-1.el7 | 0:1.8.3-1.el7 |
containerdSUSE:OpenStack Cloud 6 |
before 0.2.5+gitr639_422e31c-20.2 | 0.2.5+gitr639_422e31c-20.2 |
dockerSUSE:OpenStack Cloud 6 |
before 17.04.0_ce-98.2 | 17.04.0_ce-98.2 |
Show 14 moreShow less
| Package | Affected | Fixed |
|---|---|---|
golang-github-docker-libnetworkSUSE:OpenStack Cloud 6 |
before 0.0.0+git20170119.7b2b1fe-4.1 | 0.0.0+git20170119.7b2b1fe-4.1 |
runcSUSE:OpenStack Cloud 6 |
before 0.1.1+gitr2947_9c2d8d1-20.3 | 0.1.1+gitr2947_9c2d8d1-20.3 |
containerdSUSE:Linux Enterprise Module for Containers 12 |
before 0.2.5+gitr639_422e31c-20.2 | 0.2.5+gitr639_422e31c-20.2 |
dockerSUSE:Linux Enterprise Module for Containers 12 |
before 17.04.0_ce-98.2 | 17.04.0_ce-98.2 |
docker-distributionSUSE:Linux Enterprise Module for Containers 12 |
before 2.6.1-15.2 | 2.6.1-15.2 |
golang-github-docker-libnetworkSUSE:Linux Enterprise Module for Containers 12 |
before 0.0.0+git20170119.7b2b1fe-4.1 | 0.0.0+git20170119.7b2b1fe-4.1 |
runcSUSE:Linux Enterprise Module for Containers 12 |
before 0.1.1+gitr2947_9c2d8d1-20.3 | 0.1.1+gitr2947_9c2d8d1-20.3 |
golang-1.6Ubuntu:16.04:LTS |
All versions, plus listed versions 1.6-0ubuntu11.6-0ubuntu21.6-0ubuntu31.6-0ubuntu41.6-0ubuntu5 Show 5 moreShow less1.6.1-0ubuntu11.6.2-0ubuntu5~16.041.6.2-0ubuntu5~16.04.21.6.2-0ubuntu5~16.04.31.6.2-0ubuntu5~16.04.4 |
None known |
goSUSE:Package Hub 12 |
before 1.7.0-12.1 | 1.7.0-12.1 |
goopenSUSE:Tumbleweed |
before 1.17-1.1 | 1.17-1.1 |
go1.10openSUSE:Tumbleweed |
before 1.10.8-8.2 | 1.10.8-8.2 |
go1.11openSUSE:Tumbleweed |
before 1.11.13-10.5 | 1.11.13-10.5 |
go1.12openSUSE:Tumbleweed |
before 1.12.17-4.8 | 1.12.17-4.8 |
go1.9openSUSE:Tumbleweed |
before 1.9.7-11.2 | 1.9.7-11.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2017-8932 is a medium vulnerability (CVSS 5.9) in Golang Go, published June 22, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.23%, the 82nd percentile. Fixed in stdlib 1.7.6.
References
groups.google.com/d/msg/golang-announce/B5ww0iFt1_Q/TgUFJV14BgAJ
github.com/golang/go/commit/9294fa2749ffee7edbbb817a0ef9fe633136fa9c
access.redhat.com/errata/RHSA-2017:1859
lists.opensuse.org/opensuse-updates/2017-06/msg00080.html
lists.opensuse.org/opensuse-updates/2017-06/msg00079.html
bugzilla.redhat.com/show_bug.cgi?id=1455191
Show 69 moreShow less
github.com/golang/go/issues/20040
go-review.googlesource.com/c/41070
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/LZH4T47ROLZ6YEZBDVXVS2KISTDMXAPS
nvd.nist.gov/vuln/detail/CVE-2017-8932
lists.fedoraproject.org/archives/list/[email protected]/message/LZH4T47ROLZ6YEZBDVXVS2KISTDMXAPS
github.com/advisories/GHSA-25hf-x7c8-5f3h
docs.bell-sw.com/security/cves/CVE-2017-8932
go.dev/cl/41070
go.googlesource.com/go/+/9294fa2749ffee7edbbb817a0ef9fe633136fa9c
go.dev/issue/20040
groups.google.com/g/golang-announce/c/B5ww0iFt1_Q/m/TgUFJV14BgAJ
advisories.mageia.org/MGASA-2017-0195.html
bugs.mageia.org/show_bug.cgi?id=21103
lists.fedoraproject.org/archives/list/[email protected]/thread/LZH4T47ROLZ6YEZBDVXVS2KISTDMXAPS
access.redhat.com/security/updates/classification
access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/7.4_Release_Notes/index.html
bugzilla.redhat.com/show_bug.cgi?id=1381593
bugzilla.redhat.com/show_bug.cgi?id=1405587
bugzilla.redhat.com/show_bug.cgi?id=1444122
bugzilla.redhat.com/show_bug.cgi?id=1452241
bugzilla.redhat.com/show_bug.cgi?id=1452616
bugzilla.redhat.com/show_bug.cgi?id=1455189
security.access.redhat.com/data/csaf/v2/advisories/2017/rhsa-2017_1859.json
access.redhat.com/security/cve/CVE-2017-8932
cve.org/CVERecord?id=CVE-2017-8932
access.redhat.com/security/cve/CVE-2017-1000098
bugzilla.redhat.com/show_bug.cgi?id=1401985
cve.org/CVERecord?id=CVE-2017-1000098
nvd.nist.gov/vuln/detail/CVE-2017-1000098
groups.google.com/forum
suse.com/support/update/announcement//suse-ru-20171965-1
bugzilla.suse.com/1026827
bugzilla.suse.com/1028113
bugzilla.suse.com/1028638
bugzilla.suse.com/1028639
bugzilla.suse.com/1030702
bugzilla.suse.com/1032287
bugzilla.suse.com/1032644
bugzilla.suse.com/1032769
bugzilla.suse.com/1034053
bugzilla.suse.com/1034063
bugzilla.suse.com/1037436
bugzilla.suse.com/1037607
bugzilla.suse.com/1038476
bugzilla.suse.com/1038493
bugzilla.suse.com/1040618
bugzilla.suse.com/953182
bugzilla.suse.com/964546
bugzilla.suse.com/996303
suse.com/security/cve/CVE-2017-8932
ubuntu.com/security/CVE-2017-8932
suse.com/security/cve/CVE-2016-5386
suse.com/security/cve/CVE-2017-15041
suse.com/security/cve/CVE-2017-15042
suse.com/security/cve/CVE-2018-16873
suse.com/security/cve/CVE-2018-16874
suse.com/security/cve/CVE-2018-16875
suse.com/security/cve/CVE-2018-6574
suse.com/security/cve/CVE-2018-7187
suse.com/security/cve/CVE-2019-6486
suse.com/security/cve/CVE-2014-7189
suse.com/security/cve/CVE-2015-8618
suse.com/security/cve/CVE-2016-3959
suse.com/security/cve/CVE-2019-14809
suse.com/security/cve/CVE-2019-9512
suse.com/security/cve/CVE-2019-9514
suse.com/security/cve/CVE-2019-11888
suse.com/security/cve/CVE-2019-16276
suse.com/security/cve/CVE-2019-17596