ID CVE-2015-8618
Summary The Int.Exp Montgomery code in the math/big library in Go 1.5.x before 1.5.3 mishandles carry propagation and produces incorrect output, which makes it easier for attackers to obtain private RSA keys via unspecified vectors.
References
Vulnerable Configurations
  • openSUSE Leap 42.1
    cpe:2.3:o:opensuse:leap:42.1
  • Golang Go 1.5
    cpe:2.3:a:golang:go:1.5
  • Golang Go 1.5.1
    cpe:2.3:a:golang:go:1.5.1
  • Golang Go 1.5.2
    cpe:2.3:a:golang:go:1.5.2
CVSS
Base: 5.0 (as of 25-05-2016 - 15:08)
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.
Access
VectorComplexityAuthentication
NETWORK LOW NONE
Impact
ConfidentialityIntegrityAvailability
PARTIAL NONE NONE
nessus via4
  • NASL family Fedora Local Security Checks
    NASL id FEDORA_2016-5A073CBD93.NASL
    description - Rebase to 1.5.3 - Security fix for CVE-2015-8618 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2019-02-21
    modified 2016-10-18
    plugin id 89550
    published 2016-03-04
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=89550
    title Fedora 23 : golang-1.5.3-1.fc23 (2016-5a073cbd93)
  • NASL family SuSE Local Security Checks
    NASL id OPENSUSE-2016-606.NASL
    description This go update to version 1.6 fixes the following issues : Security issues fixed : - CVE-2016-3959: Infinite loop in several big integer routines (boo#974232) - CVE-2015-8618: Carry propagation in Int.Exp Montgomery code in math/big library (boo#960151) Bugs fixed : - Update to version 1.6 : - On Linux on little-endian 64-bit PowerPC (linux/ppc64le), Go 1.6 now supports cgo with external linking and is roughly feature complete. - Vendoring support - HTTP2 transparent support - fix gc and gccgo incompatibility regarding embedded unexported struct types containing exported fields - Linux on 64-bit MIPS and Android on 32-bit x86 - enforced rules for sharing Go pointers with C - new mechanism for template reuse - performance improvements ... and more! see more in https://tip.golang.org/doc/go1.6 - Updated to version 1.5.2: This release includes bug fixes to the compiler, linker, and the mime/multipart, net, and runtime packages. https://golang.org/doc/devel/release.html#go1.5.minor - Updated to version 1.5.1: This release includes bug fixes to the go command, the compiler, assembler, and the fmt, net/textproto, net/http, and runtime packages. https://golang.org/doc/devel/release.html#go1.5.minor - Update to version 1.5 : - see https://golang.org/doc/go1.5 - install shared stdlib on x86_64 - add go.gdbinit for debug friendly - Adapt to Leap - use gcc5-go than go1.4 is the proper requirement for Leap
    last seen 2019-02-21
    modified 2016-10-13
    plugin id 91276
    published 2016-05-20
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=91276
    title openSUSE Security Update : go (openSUSE-2016-606)
  • NASL family FreeBSD Local Security Checks
    NASL id FREEBSD_PKG_6809C6DBBDEB11E5B5FE002590263BF5.NASL
    description Jason Buberel reports : A security-related issue has been reported in Go's math/big package. The issue was introduced in Go 1.5. We recommend that all users upgrade to Go 1.5.3, which fixes the issue. Go programs must be recompiled with Go 1.5.3 in order to receive the fix. The Go team would like to thank Nick Craig-Wood for identifying the issue. This issue can affect RSA computations in crypto/rsa, which is used by crypto/tls. TLS servers on 32-bit systems could plausibly leak their RSA private key due to this issue. Other protocol implementations that create many RSA signatures could also be impacted in the same way. Specifically, incorrect results in one part of the RSA Chinese Remainder computation can cause the result to be incorrect in such a way that it leaks one of the primes. While RSA blinding should prevent an attacker from crafting specific inputs that trigger the bug, on 32-bit systems the bug can be expected to occur at random around one in 2^26 times. Thus collecting around 64 million signatures (of known data) from an affected server should be enough to extract the private key used. On 64-bit systems, the frequency of the bug is so low (less than one in 2^50) that it would be very difficult to exploit. Nonetheless, everyone is strongly encouraged to upgrade.
    last seen 2019-02-21
    modified 2018-11-21
    plugin id 87983
    published 2016-01-19
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=87983
    title FreeBSD : go -- information disclosure vulnerability (6809c6db-bdeb-11e5-b5fe-002590263bf5)
  • NASL family Fedora Local Security Checks
    NASL id FEDORA_2016-2DCC094217.NASL
    description - Rebase to 1.5.3 - Security fix for CVE-2015-8618 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen 2019-02-21
    modified 2016-10-18
    plugin id 89504
    published 2016-03-04
    reporter Tenable
    source https://www.tenable.com/plugins/index.php?view=single&id=89504
    title Fedora 22 : golang-1.5.3-1.fc22 (2016-2dcc094217)
refmap via4
confirm
fedora
  • FEDORA-2016-2dcc094217
  • FEDORA-2016-5a073cbd93
mlist
  • [golang-announce] 20160113 [security] Go 1.5.3 is released
  • [oss-security] 20151221 CVE request for math/big.Exp
  • [oss-security] 20151222 Re: CVE request for math/big.Exp
  • [oss-security] 20160113 [security] Go security release v1.5.3
suse openSUSE-SU-2016:1331
Last major update 26-05-2016 - 09:49
Published 27-01-2016 - 15:59
Last modified 30-10-2018 - 12:27
Back to Top