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.1
    cpe:2.3:a:golang:go:1.8.1
  • cpe:2.3:a:golang:go:1.8
    cpe:2.3:a:golang:go:1.8
  • cpe:2.3:o:fedoraproject:fedora:25
    cpe:2.3:o:fedoraproject:fedora:25
  • Novell SUSE Package Hub For SUSE Linux Enterprise 12
    cpe:2.3:a:novell:suse_package_hub_for_suse_linux_enterprise:12
  • 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.
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 17-07-2017 - 14:29
Back to Top