Every CVE Search/ Get API key

CVE-2017-8932

A bug in the standard library ScalarMult implementation of curve P-256 for amd64 architectures in...

5.9 MediumFix available

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

2.23%Up 0.2 points since Apr 14, 2021
90%50%10%1%

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 MediumCVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
CVSS 2.0
4.3 MediumAV: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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

Affected packages
PackageAffectedFixed
stdlib
Go
1.6.0-0 up to 1.7.6, 1.8.0-0 up to 1.8.2
1.7.61.8.2
golang
Mageia:5
before 1.6.4-2.mga5
1.6.4-2.mga5
golang
Red Hat:enterprise_linux:7::server
before 0:1.8.3-1.el7
0:1.8.3-1.el7
golang-bin
Red Hat:enterprise_linux:7::server
before 0:1.8.3-1.el7
0:1.8.3-1.el7
golang-docs
Red Hat:enterprise_linux:7::server
before 0:1.8.3-1.el7
0:1.8.3-1.el7
golang-misc
Red Hat:enterprise_linux:7::server
before 0:1.8.3-1.el7
0:1.8.3-1.el7
golang-src
Red Hat:enterprise_linux:7::server
before 0:1.8.3-1.el7
0:1.8.3-1.el7
golang-tests
Red Hat:enterprise_linux:7::server
before 0:1.8.3-1.el7
0:1.8.3-1.el7
containerd
SUSE:OpenStack Cloud 6
before 0.2.5+gitr639_422e31c-20.2
0.2.5+gitr639_422e31c-20.2
docker
SUSE:OpenStack Cloud 6
before 17.04.0_ce-98.2
17.04.0_ce-98.2
Show 14 moreShow less
Affected packages
PackageAffectedFixed
golang-github-docker-libnetwork
SUSE:OpenStack Cloud 6
before 0.0.0+git20170119.7b2b1fe-4.1
0.0.0+git20170119.7b2b1fe-4.1
runc
SUSE:OpenStack Cloud 6
before 0.1.1+gitr2947_9c2d8d1-20.3
0.1.1+gitr2947_9c2d8d1-20.3
containerd
SUSE:Linux Enterprise Module for Containers 12
before 0.2.5+gitr639_422e31c-20.2
0.2.5+gitr639_422e31c-20.2
docker
SUSE:Linux Enterprise Module for Containers 12
before 17.04.0_ce-98.2
17.04.0_ce-98.2
docker-distribution
SUSE:Linux Enterprise Module for Containers 12
before 2.6.1-15.2
2.6.1-15.2
golang-github-docker-libnetwork
SUSE:Linux Enterprise Module for Containers 12
before 0.0.0+git20170119.7b2b1fe-4.1
0.0.0+git20170119.7b2b1fe-4.1
runc
SUSE:Linux Enterprise Module for Containers 12
before 0.1.1+gitr2947_9c2d8d1-20.3
0.1.1+gitr2947_9c2d8d1-20.3
golang-1.6
Ubuntu:16.04:LTS
All versions, plus listed versions
1.6-0ubuntu11.6-0ubuntu21.6-0ubuntu31.6-0ubuntu41.6-0ubuntu5
Show 5 moreShow less
1.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
go
SUSE:Package Hub 12
before 1.7.0-12.1
1.7.0-12.1
go
openSUSE:Tumbleweed
before 1.17-1.1
1.17-1.1
go1.10
openSUSE:Tumbleweed
before 1.10.8-8.2
1.10.8-8.2
go1.11
openSUSE:Tumbleweed
before 1.11.13-10.5
1.11.13-10.5
go1.12
openSUSE:Tumbleweed
before 1.12.17-4.8
1.12.17-4.8
go1.9
openSUSE:Tumbleweed
before 1.9.7-11.2
1.9.7-11.2

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE 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

Show 69 moreShow less
MoveEnter Open