ID CVE-2017-8932
Summary 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.
References
Vulnerable Configurations
  • cpe:2.3:a:golang:go:1.7.5
    cpe:2.3:a:golang:go:1.7.5
  • cpe:2.3:a:golang:go:1.8
    cpe:2.3:a:golang:go:1.8
  • cpe:2.3:a:golang:go:1.8.1
    cpe:2.3:a:golang:go:1.8.1
  • Novell SUSE Package Hub For SUSE Linux Enterprise 12
    cpe:2.3:a:novell:suse_package_hub_for_suse_linux_enterprise:12
  • cpe:2.3:o:fedoraproject:fedora:25
    cpe:2.3:o:fedoraproject:fedora:25
  • OpenSUSE Project Leap 42.2
    cpe:2.3:o:opensuse_project:leap:42.2
CVSS
Base: 4.3
Impact:
Exploitability:
CWE CWE-200
CAPEC
  • Subverting Environment Variable Values
    The attacker directly or indirectly modifies environment variables used by or controlling the target software. The attacker's goal is to cause the target software to deviate from its expected operation in a manner that benefits the attacker.
  • Footprinting
    An attacker engages in probing and exploration activity to identify constituents and properties of the target. Footprinting is a general term to describe a variety of information gathering techniques, often used by attackers in preparation for some attack. It consists of using tools to learn as much as possible about the composition, configuration, and security mechanisms of the targeted application, system or network. Information that might be collected during a footprinting effort could include open ports, applications and their versions, network topology, and similar information. While footprinting is not intended to be damaging (although certain activities, such as network scans, can sometimes cause disruptions to vulnerable applications inadvertently) it may often pave the way for more damaging attacks.
  • Exploiting Trust in Client (aka Make the Client Invisible)
    An attack of this type exploits a programs' vulnerabilities in client/server communication channel authentication and data integrity. It leverages the implicit trust a server places in the client, or more importantly, that which the server believes is the client. An attacker executes this type of attack by placing themselves in the communication channel between client and server such that communication directly to the server is possible where the server believes it is communicating only with a valid client. There are numerous variations of this type of attack.
  • Browser Fingerprinting
    An attacker carefully crafts small snippets of Java Script to efficiently detect the type of browser the potential victim is using. Many web-based attacks need prior knowledge of the web browser including the version of browser to ensure successful exploitation of a vulnerability. Having this knowledge allows an attacker to target the victim with attacks that specifically exploit known or zero day weaknesses in the type and version of the browser used by the victim. Automating this process via Java Script as a part of the same delivery system used to exploit the browser is considered more efficient as the attacker can supply a browser fingerprinting method and integrate it with exploit code, all contained in Java Script and in response to the same web page request by the browser.
  • Session Credential Falsification through Prediction
    This attack targets predictable session ID in order to gain privileges. The attacker can predict the session ID used during a transaction to perform spoofing and session hijacking.
  • Reusing Session IDs (aka Session Replay)
    This attack targets the reuse of valid session ID to spoof the target system in order to gain privileges. The attacker tries to reuse a stolen session ID used previously during a transaction to perform spoofing and session hijacking. Another name for this type of attack is Session Replay.
  • Using Slashes in Alternate Encoding
    This attack targets the encoding of the Slash characters. An attacker would try to exploit common filtering problems related to the use of the slashes characters to gain access to resources on the target host. Directory-driven systems, such as file systems and databases, typically use the slash character to indicate traversal between directories or other container components. For murky historical reasons, PCs (and, as a result, Microsoft OSs) choose to use a backslash, whereas the UNIX world typically makes use of the forward slash. The schizophrenic result is that many MS-based systems are required to understand both forms of the slash. This gives the attacker many opportunities to discover and abuse a number of common filtering problems. The goal of this pattern is to discover server software that only applies filters to one version, but not the other.
nessus via4
  • NASL family Oracle Linux Local Security Checks
    NASL id ORACLELINUX_ELSA-2017-1859.NASL
    description From Red Hat Security Advisory 2017:1859 : An update for golang is now available for Red Hat Enterprise Linux 7. Red Hat Product Security has rated this update as having a security impact of Moderate. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available for each vulnerability from the CVE link(s) in the References section. The golang packages provide the Go programming language compiler. The following packages have been upgraded to a later upstream version: golang (1.8.3). (BZ#1414500) Security Fix(es) : * A carry propagation flaw was found in the implementation of the P-256 elliptic curve in golang. An attacker could possibly use this flaw to extract private keys when static ECDH was used. (CVE-2017-8932) Additional Changes : For detailed information on changes in this release, see the Red Hat Enterprise Linux 7.4 Release Notes linked from the References section.
    last seen 2018-02-02
    modified 2018-02-01
    plugin id 102339
    published 2017-08-10
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=102339
    title Oracle Linux 7 : golang (ELSA-2017-1859)
  • NASL family SuSE Local Security Checks
    NASL id OPENSUSE-2017-719.NASL
    description 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.
    last seen 2018-01-27
    modified 2018-01-26
    plugin id 101129
    published 2017-06-30
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=101129
    title openSUSE Security Update : go (openSUSE-2017-719)
  • NASL family Scientific Linux Local Security Checks
    NASL id SL_20170801_GOLANG_ON.NASL
    description The following packages have been upgraded to a later upstream version: golang (1.8.3). Security Fix(es) : - A carry propagation flaw was found in the implementation of the P-256 elliptic curve in golang. An attacker could possibly use this flaw to extract private keys when static ECDH was used. (CVE-2017-8932)
    last seen 2018-01-27
    modified 2018-01-26
    plugin id 102643
    published 2017-08-22
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=102643
    title Scientific Linux Security Update : golang on
  • NASL family Fedora Local Security Checks
    NASL id FEDORA_2017-278F46FCD6.NASL
    description - Bump to 1.7.6 - Security fix for CVE-2017-8932 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora update system website. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2018-02-02
    modified 2018-02-01
    plugin id 100855
    published 2017-06-19
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=100855
    title Fedora 25 : golang (2017-278f46fcd6)
  • NASL family Fedora Local Security Checks
    NASL id FEDORA_2017-8F018A3D39.NASL
    description - Bump to 1.8.3 - Security fix for CVE-2017-8932 - add support for 28+bit OIDs in asn1 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora update system website. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2018-02-04
    modified 2018-02-02
    plugin id 102026
    published 2017-07-28
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=102026
    title Fedora 26 : golang (2017-8f018a3d39)
  • NASL family Amazon Linux Local Security Checks
    NASL id ALA_ALAS-2017-857.NASL
    description Golang: Elliptic curves carry propagation issue in x86-64 P-256. A carry propagation flaw was found in the implementation of the P-256 elliptic curve in golang. An attacker could use this flaw to extract private keys when static ECDH is used. (CVE-2017-8932)
    last seen 2018-04-19
    modified 2018-04-18
    plugin id 101551
    published 2017-07-17
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=101551
    title Amazon Linux AMI : golang (ALAS-2017-857)
  • NASL family CentOS Local Security Checks
    NASL id CENTOS_RHSA-2017-1859.NASL
    description An update for golang is now available for Red Hat Enterprise Linux 7. Red Hat Product Security has rated this update as having a security impact of Moderate. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available for each vulnerability from the CVE link(s) in the References section. The golang packages provide the Go programming language compiler. The following packages have been upgraded to a later upstream version: golang (1.8.3). (BZ#1414500) Security Fix(es) : * A carry propagation flaw was found in the implementation of the P-256 elliptic curve in golang. An attacker could possibly use this flaw to extract private keys when static ECDH was used. (CVE-2017-8932) Additional Changes : For detailed information on changes in this release, see the Red Hat Enterprise Linux 7.4 Release Notes linked from the References section.
    last seen 2018-01-26
    modified 2018-01-25
    plugin id 102738
    published 2017-08-25
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=102738
    title CentOS 7 : golang (CESA-2017:1859)
  • NASL family Red Hat Local Security Checks
    NASL id REDHAT-RHSA-2017-1859.NASL
    description An update for golang is now available for Red Hat Enterprise Linux 7. Red Hat Product Security has rated this update as having a security impact of Moderate. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available for each vulnerability from the CVE link(s) in the References section. The golang packages provide the Go programming language compiler. The following packages have been upgraded to a later upstream version: golang (1.8.3). (BZ#1414500) Security Fix(es) : * A carry propagation flaw was found in the implementation of the P-256 elliptic curve in golang. An attacker could possibly use this flaw to extract private keys when static ECDH was used. (CVE-2017-8932) Additional Changes : For detailed information on changes in this release, see the Red Hat Enterprise Linux 7.4 Release Notes linked from the References section.
    last seen 2018-01-26
    modified 2018-01-25
    plugin id 102103
    published 2017-08-02
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=102103
    title RHEL 7 : golang (RHSA-2017:1859)
  • NASL family Huawei Local Security Checks
    NASL id EULEROS_SA-2017-1225.NASL
    description According to the version of the golang packages installed, the EulerOS installation on the remote host is affected by the following vulnerability : - A carry propagation flaw was found in the implementation of the P-256 elliptic curve in golang. An attacker could possibly use this flaw to extract private keys when static ECDH was used. (CVE-2017-8932) Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2018-06-14
    modified 2018-06-13
    plugin id 103083
    published 2017-09-11
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=103083
    title EulerOS 2.0 SP2 : golang (EulerOS-SA-2017-1225)
redhat via4
advisories
bugzilla
id 1455189
title CVE-2017-8932 golang: Elliptic curves carry propagation issue in x86-64 P-256
oval
AND
  • OR
    • comment Red Hat Enterprise Linux 7 Client is installed
      oval oval:com.redhat.rhsa:tst:20140675001
    • comment Red Hat Enterprise Linux 7 Server is installed
      oval oval:com.redhat.rhsa:tst:20140675002
    • comment Red Hat Enterprise Linux 7 Workstation is installed
      oval oval:com.redhat.rhsa:tst:20140675003
    • comment Red Hat Enterprise Linux 7 ComputeNode is installed
      oval oval:com.redhat.rhsa:tst:20140675004
  • OR
    • AND
      • comment golang is earlier than 0:1.8.3-1.el7
        oval oval:com.redhat.rhsa:tst:20171859007
      • comment golang is signed with Red Hat redhatrelease2 key
        oval oval:com.redhat.rhsa:tst:20161538016
    • AND
      • comment golang-bin is earlier than 0:1.8.3-1.el7
        oval oval:com.redhat.rhsa:tst:20171859005
      • comment golang-bin is signed with Red Hat redhatrelease2 key
        oval oval:com.redhat.rhsa:tst:20161538010
    • AND
      • comment golang-docs is earlier than 0:1.8.3-1.el7
        oval oval:com.redhat.rhsa:tst:20171859015
      • comment golang-docs is signed with Red Hat redhatrelease2 key
        oval oval:com.redhat.rhsa:tst:20161538012
    • AND
      • comment golang-misc is earlier than 0:1.8.3-1.el7
        oval oval:com.redhat.rhsa:tst:20171859009
      • comment golang-misc is signed with Red Hat redhatrelease2 key
        oval oval:com.redhat.rhsa:tst:20161538006
    • AND
      • comment golang-src is earlier than 0:1.8.3-1.el7
        oval oval:com.redhat.rhsa:tst:20171859011
      • comment golang-src is signed with Red Hat redhatrelease2 key
        oval oval:com.redhat.rhsa:tst:20161538008
    • AND
      • comment golang-tests is earlier than 0:1.8.3-1.el7
        oval oval:com.redhat.rhsa:tst:20171859013
      • comment golang-tests is signed with Red Hat redhatrelease2 key
        oval oval:com.redhat.rhsa:tst:20161538014
rhsa
id RHSA-2017:1859
released 2017-08-01
severity Moderate
title RHSA-2017:1859: golang security, bug fix, and enhancement update (Moderate)
rpms
  • golang-0:1.8.3-1.el7
  • golang-bin-0:1.8.3-1.el7
  • golang-docs-0:1.8.3-1.el7
  • golang-misc-0:1.8.3-1.el7
  • golang-src-0:1.8.3-1.el7
  • golang-tests-0:1.8.3-1.el7
refmap via4
confirm
fedora FEDORA-2017-278f46fcd6
misc https://bugzilla.redhat.com/show_bug.cgi?id=1455191
mlist [golang-announce] 20170523 [security] Go 1.7.6 and Go 1.8.2 are released
suse
  • openSUSE-SU-2017:1649
  • openSUSE-SU-2017:1650
Last major update 06-07-2017 - 12:29
Published 06-07-2017 - 12:29
Last modified 04-01-2018 - 21:31
Back to Top