Skip to content
Fencer Intel
medium 5.9

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

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 golang
    affected: 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-src
    affected: 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 more
    fixed: 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.el7
    fixed: 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

Sources

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.