Every CVE Search/ Get API key

CVE-2017-15042

An unintended cleartext issue exists in Go before 1.8.4 and 1.9.x before 1.9.1. RFC 4954 requires...

5.9 MediumFix available

An unintended cleartext issue exists in Go before 1.8.4 and 1.9.x before 1.9.1. RFC 4954 requires that, during SMTP, the PLAIN auth scheme must only be used on network connections secured with TLS. The original implementation of smtp.PlainAuth in Go 1.0 enforced this requirement, and it was documented to do so. In 2013, upstream issue #5184, this was changed so that the server may decide whether PLAIN is acceptable. The result is that if you set up a man-in-the-middle SMTP server that doesn't advertise STARTTLS and does advertise that PLAIN auth is OK, the smtp.PlainAuth implementation sends the username and password.

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

1.28%Down 0.6 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 5.9

An unintended cleartext issue exists in Go before 1.8.4 and 1.9.x before 1.9.1. RFC 4954 requires that, during SMTP, the PLAIN auth scheme must only be used on network connections secured with TLS. The original implementation of smtp.PlainAuth in Go 1.0 enforced this requirement, and it was documented to do so. In 2013, upstream issue #5184, this was changed so that the server may decide whether PLAIN is acceptable. The result is that if you set up a man-in-the-middle SMTP server that doesn't advertise STARTTLS and does advertise that PLAIN auth is OK, the smtp.PlainAuth implementation sends the username and password.

Record
CVE-2017-15042
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-319
Updated
2026-11-02
CVE List No score

An unintended cleartext issue exists in Go before 1.8.4 and 1.9.x before 1.9.1. RFC 4954 requires that, during SMTP, the PLAIN auth scheme must only be used on network connections secured with TLS. The original implementation of smtp.PlainAuth in Go 1.0 enforced this requirement, and it was documented to do so. In 2013, upstream issue #5184, this was changed so that the server may decide whether PLAIN is acceptable. The result is that if you set up a man-in-the-middle SMTP server that doesn't advertise STARTTLS and does advertise that PLAIN auth is OK, the smtp.PlainAuth implementation sends the username and password.

Record
CVE-2017-15042
Updated
2026-11-02
EUVDEUVD-2017-6517 No score

An unintended cleartext issue exists in Go before 1.8.4 and 1.9.x before 1.9.1. RFC 4954 requires that, during SMTP, the PLAIN auth scheme must only be used on network connections secured with TLS. The original implementation of smtp.PlainAuth in Go 1.0 enforced this requirement, and it was documented to do so. In 2013, upstream issue #5184, this was changed so that the server may decide whether PLAIN is acceptable. The result is that if you set up a man-in-the-middle SMTP server that doesn't advertise STARTTLS and does advertise that PLAIN auth is OK, the smtp.PlainAuth implementation sends the username and password.

Record
EUVD-2017-6517
Updated
2026-11-03
GitHub AdvisoriesGHSA-crv5-fmcw-6rw4 5.9

An unintended cleartext issue exists in Go before 1.8.4 and 1.9.x before 1.9.1. RFC 4954 requires...

An unintended cleartext issue exists in Go before 1.8.4 and 1.9.x before 1.9.1. RFC 4954 requires that, during SMTP, the PLAIN auth scheme must only be used on network connections secured with TLS. The original implementation of smtp.PlainAuth in Go 1.0 enforced this requirement, and it was documented to do so. In 2013, upstream issue #5184, this was changed so that the server may decide whether PLAIN is acceptable. The result is that if you set up a man-in-the-middle SMTP server that doesn't advertise STARTTLS and does advertise that PLAIN auth is OK, the smtp.PlainAuth implementation sends the username and password.

Record
GHSA-crv5-fmcw-6rw4
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-319
Updated
2026-11-02
OSVAZL-79072 5.9

CVE-2017-15042 affecting package golang 1.25.7-1

An unintended cleartext issue exists in Go before 1.8.4 and 1.9.x before 1.9.1. RFC 4954 requires that, during SMTP, the PLAIN auth scheme must only be used on network connections secured with TLS. The original implementation of smtp.PlainAuth in Go 1.0 enforced this requirement, and it was documented to do so. In 2013, upstream issue #5184, this was changed so that the server may decide whether PLAIN is acceptable. The result is that if you set up a man-in-the-middle SMTP server that doesn't advertise STARTTLS and does advertise that PLAIN auth is OK, the smtp.PlainAuth implementation sends the username and password.

Record
AZL-79072
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
OSVAZL-98781 5.9

CVE-2017-15042 affecting package golang 1.27.1-1

An unintended cleartext issue exists in Go before 1.8.4 and 1.9.x before 1.9.1. RFC 4954 requires that, during SMTP, the PLAIN auth scheme must only be used on network connections secured with TLS. The original implementation of smtp.PlainAuth in Go 1.0 enforced this requirement, and it was documented to do so. In 2013, upstream issue #5184, this was changed so that the server may decide whether PLAIN is acceptable. The result is that if you set up a man-in-the-middle SMTP server that doesn't advertise STARTTLS and does advertise that PLAIN auth is OK, the smtp.PlainAuth implementation sends the username and password.

Record
AZL-98781
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
OSV 5.9

An unintended cleartext issue exists in Go before 1.8.4 and 1.9.x before 1.9.1. RFC 4954 requires that, during SMTP, the PLAIN auth scheme must only be used on network connections secured with TLS. The original implementation of smtp.PlainAuth in Go 1.0 enforced this requirement, and it was documented to do so. In 2013, upstream issue #5184, this was changed so that the server may decide whether PLAIN is acceptable. The result is that if you set up a man-in-the-middle SMTP server that doesn't advertise STARTTLS and does advertise that PLAIN auth is OK, the smtp.PlainAuth implementation sends the username and password.

Record
CVE-2017-15042
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
OSVRHSA-2017:3463 7.5

Red Hat Security Advisory: go-toolset-7 and go-toolset-7-golang security and bug fix update

Record
RHSA-2017:3463
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2018:0878 7.5

Red Hat Security Advisory: golang security, bug fix, and enhancement update

Record
RHSA-2018:0878
CVSS 3.0
7.5 HighCVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2017-15042 5.9

An unintended cleartext issue exists in Go before 1.8.4 and 1.9.x before 1.9.1. RFC 4954 requires that, during SMTP, the PLAIN auth scheme must only be used on network connections secured with TLS. The original implementation of smtp.PlainAuth in Go 1.0 enforced this requirement, and it was documented to do so. In 2013, upstream issue #5184, this was changed so that the server may decide whether PLAIN is acceptable. The result is that if you set up a man-in-the-middle SMTP server that doesn't advertise STARTTLS and does advertise that PLAIN auth is OK, the smtp.PlainAuth implementation sends the username and password.

Record
UBUNTU-CVE-2017-15042
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-2021-0178 No score

Cleartext transmission of credentials in net/smtp

SMTP clients using net/smtp can use the PLAIN authentication scheme on network connections not secured with TLS, exposing passwords to man-in-the-middle SMTP servers.

Record
GO-2021-0178
Updated
2026-11-02
OSVMGASA-2018-0089 No score

Updated golang packages fix security vulnerabilities

An arbitrary command execution flaw was found in the way Go's "go get" command handled the checkout of source code repositories. A remote attacker capable of hosting malicious repositories could potentially use this flaw to cause arbitrary command execution on the client side (CVE-2017-15041).

It was found that smtp.PlainAuth authentication scheme in Go did not verify the TLS requirement properly. A remote man-in-the-middle attacker could potentially use this flaw to sniff SMTP credentials sent by a Go application (CVE-2017-15042).

Record
MGASA-2018-0089
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:10811-1 No score

go1.4-1.4.3-12.2 on GA media

These are all security issues fixed in the go1.4-1.4.3-12.2 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:10811-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

Affected products

Affected packages

Affected packages
PackageAffectedFixed
golang
Azure Linux:3
through 1.25.7-1 None known
golang
Azure Linux:3
1.27.0 to 1.27.1-1 None known
stdlib
Go
1.1.0-0 up to 1.8.4, 1.9.0-0 up to 1.9.1
1.8.41.9.1
golang
Mageia:6
From an advisory covering 2 CVEs
before 1.9.1-1.mga6
1.9.1-1.mga6
go-toolset-7
Red Hat:devtools:2::el7
From an advisory covering 2 CVEs
before 0:1.8-10.el7
0:1.8-10.el7
go-toolset-7-build
Red Hat:devtools:2::el7
From an advisory covering 2 CVEs
before 0:1.8-10.el7
0:1.8-10.el7
go-toolset-7-dockerfiles
Red Hat:devtools:2::el7
From an advisory covering 2 CVEs
before 0:1.8-10.el7
0:1.8-10.el7
go-toolset-7-golang
Red Hat:devtools:2::el7
From an advisory covering 2 CVEs
before 0:1.8.5-1.el7
0:1.8.5-1.el7
go-toolset-7-golang-bin
Red Hat:devtools:2::el7
From an advisory covering 2 CVEs
before 0:1.8.5-1.el7
0:1.8.5-1.el7
go-toolset-7-golang-docs
Red Hat:devtools:2::el7
From an advisory covering 2 CVEs
before 0:1.8.5-1.el7
0:1.8.5-1.el7
Show 20 moreShow less
Affected packages
PackageAffectedFixed
go-toolset-7-golang-misc
Red Hat:devtools:2::el7
From an advisory covering 2 CVEs
before 0:1.8.5-1.el7
0:1.8.5-1.el7
go-toolset-7-golang-race
Red Hat:devtools:2::el7
From an advisory covering 2 CVEs
before 0:1.8.5-1.el7
0:1.8.5-1.el7
go-toolset-7-golang-src
Red Hat:devtools:2::el7
From an advisory covering 2 CVEs
before 0:1.8.5-1.el7
0:1.8.5-1.el7
go-toolset-7-golang-tests
Red Hat:devtools:2::el7
From an advisory covering 2 CVEs
before 0:1.8.5-1.el7
0:1.8.5-1.el7
go-toolset-7-runtime
Red Hat:devtools:2::el7
From an advisory covering 2 CVEs
before 0:1.8-10.el7
0:1.8-10.el7
go-toolset-7-scldevel
Red Hat:devtools:2::el7
From an advisory covering 2 CVEs
before 0:1.8-10.el7
0:1.8-10.el7
golang
Red Hat:enterprise_linux:7::server
From an advisory covering 3 CVEs
before 0:1.9.4-1.el7
0:1.9.4-1.el7
golang-bin
Red Hat:enterprise_linux:7::server
From an advisory covering 3 CVEs
before 0:1.9.4-1.el7
0:1.9.4-1.el7
golang-docs
Red Hat:enterprise_linux:7::server
From an advisory covering 3 CVEs
before 0:1.9.4-1.el7
0:1.9.4-1.el7
golang-misc
Red Hat:enterprise_linux:7::server
From an advisory covering 3 CVEs
before 0:1.9.4-1.el7
0:1.9.4-1.el7
golang-src
Red Hat:enterprise_linux:7::server
From an advisory covering 3 CVEs
before 0:1.9.4-1.el7
0:1.9.4-1.el7
golang-tests
Red Hat:enterprise_linux:7::server
From an advisory covering 3 CVEs
before 0:1.9.4-1.el7
0:1.9.4-1.el7
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
golang-1.8
Ubuntu:18.04:LTS
All versions, plus listed versions
1.8.3-2ubuntu11.8.3-2ubuntu1.18.04.1
None known
go
openSUSE:Tumbleweed
From an advisory covering 10 CVEs
before 1.17-1.1
1.17-1.1
go1.10
openSUSE:Tumbleweed
From an advisory covering 12 CVEs
before 1.10.8-8.2
1.10.8-8.2
go1.11
openSUSE:Tumbleweed
From an advisory covering 15 CVEs
before 1.11.13-10.5
1.11.13-10.5
go1.12
openSUSE:Tumbleweed
From an advisory covering 18 CVEs
before 1.12.17-4.8
1.12.17-4.8
go1.4
openSUSE:Tumbleweed
From an advisory covering 4 CVEs
before 1.4.3-12.2
1.4.3-12.2
go1.9
openSUSE:Tumbleweed
From an advisory covering 9 CVEs
before 1.9.7-11.2
1.9.7-11.2

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2017-15042 is a medium vulnerability (CVSS 5.9) in Golang Go, published October 5, 2017. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.28%, the 70th percentile. Fixed in stdlib 1.8.4.

References

Show 46 moreShow less
MoveEnter Open