CVE-2017-15042 json
Cleartext transmission of credentials in net/smtp
published 2017-10-05 9 y ago modified 2026-06-17 4 mo ago also GO-2021-0178 , EUVD-2017-6517
- cvss
- 5.9
- version 3.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.3%
- EPSS 1.3% chance of exploitation in 30 days, percentile 70%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- go stdlib 1.8.4, 1.9.1
- go-toolset-7 devtools 2 1.8-10.el7
- go-toolset-7-golang devtools 2 1.8.5-1.el7
- go-toolset-7-build devtools 2 1.8-10.el7
- go-toolset-7-runtime devtools 2 1.8-10.el7
- go-toolset-7-scldevel devtools 2 1.8-10.el7
- go-toolset-7-golang-bin devtools 2 1.8.5-1.el7
- go-toolset-7-golang-src devtools 2 1.8.5-1.el7
- go-toolset-7-dockerfiles devtools 2 1.8-10.el7
red hat advisories RHSA-2017:3463RHSA-2018:0878
- go openSUSE Tumbleweed 1.17-1.1
- go1.10 openSUSE Tumbleweed 1.10.8-8.2
- go1.11 openSUSE Tumbleweed 1.11.13-10.5
- go1.12 openSUSE Tumbleweed 1.12.17-4.8
- go1.4 openSUSE Tumbleweed 1.4.3-12.2
- go1.9 openSUSE Tumbleweed 1.9.7-11.2
opensuse advisories openSUSE-SU-2024:10802-1openSUSE-SU-2024:10803-1openSUSE-SU-2024:10804-1openSUSE-SU-2024:10805-1openSUSE-SU-2024:10811-1openSUSE-SU-2024:10812-1
- go.googlesource.com/go/+/ec3b6131de8f9c9c25283260c95c616c74f6d790 commit
- go.dev/cl/68170 patch
- golang.org/cl/68023 advisory
- github.com/golang/go/issues/22134 advisory
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2017-15042 updated cvss 5.3
golang: smtp.PlainAuth susceptible to man-in-the-middle password harvesting
-
Red Hat OpenShift Enterprise 3 golangaffected: no fix available
-
Red Hat OpenStack Platform 8 (Liberty) Operational Tools golang, golang-src, golang-pkg-linux-amd64, golang-pkg-bin-linux-amd64 Red Hat OpenStack Platform 9 (Mitaka) Operational Tools golang, golang-bin, golang-srcaffected: no fix planned “Will not fix”
-
Red Hat Developer Tools for Red Hat Enterprise Linux Server (v. 7) go-toolset-7 1.8-10.el7, go-toolset-7-build 1.8-10.el7, go-toolset-7-golang 1.8.5-1.el7, go-toolset-7-runtime 1.8-10.el7, go-toolset-7-scldevel 1.8-10.el7, go-toolset-7-dockerfiles 1.8-10.el7, +5 more Red Hat Developer Tools for Red Hat Enterprise Linux Workstation (v. 7) go-toolset-7 1.8-10.el7, go-toolset-7-build 1.8-10.el7, go-toolset-7-golang 1.8.5-1.el7, go-toolset-7-runtime 1.8-10.el7, go-toolset-7-scldevel 1.8-10.el7, go-toolset-7-dockerfiles 1.8-10.el7, +5 morefixed: vendor fix RHSA-2017:3463
-
Red Hat Enterprise Linux for ARM and IBM Power LE (POWER9) Server Optional (v. 7) golang 1.9.4-1.el7, golang-bin 1.9.4-1.el7, golang-src 1.9.4-1.el7, golang-misc 1.9.4-1.el7, golang-tests 1.9.4-1.el7 Red Hat Enterprise Linux Server Optional (v. 7) golang 1.9.4-1.el7, golang-bin 1.9.4-1.el7, golang-src 1.9.4-1.el7, golang-misc 1.9.4-1.el7, golang-tests 1.9.4-1.el7fixed: vendor fix RHSA-2018:0878
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
1.28% chance of exploitation in the next 30 days, higher than 70% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.0 | 5.9 | CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |
| NVD | 2.0 | 4.3 | AV:N/AC:M/Au:N/C:P/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | stdlib | >=1.1.0-0, <1.8.4 >=1.9.0-0, <1.9.1 |
1.8.4 1.9.1 |
Classification
- Weakness
-
- CWE-319 Cleartext Transmission of Sensitive Information
References
-
golang.org
/cl/68023
issue-tracking, patch, vendor-advisory
-
github.com
/golang/go/issues/22134
issue-tracking, patch, vendor-advisory
-
go.dev
/cl/68170
patch
-
go.googlesource.com
/go/+/ec3b6131de8f9c9c25283260c95c616c74f6d790
patch
-
access.redhat.com
/errata/RHSA-2017:3463
vendor-advisory
-
access.redhat.com
/errata/RHSA-2018:0878
vendor-advisory
-
security.gentoo.org
/glsa/201710-23
vendor-advisory, third-party-advisory
-
golang.org
/cl/68210
vendor-advisory
-
groups.google.com
/d/msg/golang-dev/RinSE3EiJBI/kYL7zb07AgAJ
mailing-list, vendor-advisory
-
securityfocus.com
/bid/101197
vdb-entry, third-party-advisory
-
go.dev
/issue/22134
report
-
groups.google.com
/g/golang-dev/c/RinSE3EiJBI/m/kYL7zb07AgAJ
web
Sources
- CVE List CVE-2017-15042
- NVD CVE-2017-15042
- OSV GO-2021-0178
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.