CVE-2017-15042
Published: 5 October 2017
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.
Notes
Author | Note |
---|---|
mdeslaur | Packages built using golang need to be rebuilt once the vulnerability has been fixed. This CVE entry does not list packages that need rebuilding outside of the main repository or the Ubuntu variants with PPA overlays. |
Priority
Status
Package | Release | Status |
---|---|---|
golang-1.9 Launchpad, Ubuntu, Debian |
artful |
Not vulnerable
(1.9.1-2ubuntu1)
|
bionic |
Not vulnerable
(1.9.4-1ubuntu1)
|
|
cosmic |
Not vulnerable
(1.9.4-1ubuntu1)
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
focal |
Does not exist
|
|
xenial |
Does not exist
|
|
groovy |
Does not exist
|
|
kinetic |
Does not exist
|
|
hirsute |
Does not exist
|
|
impish |
Does not exist
|
|
jammy |
Does not exist
|
|
lunar |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(1.9.1)
|
|
zesty |
Does not exist
|
|
mantic |
Does not exist
|
|
Patches: upstream: https://go-review.googlesource.com/c/go/+/68210 |
||
golang Launchpad, Ubuntu, Debian |
groovy |
Does not exist
|
jammy |
Does not exist
|
|
kinetic |
Does not exist
|
|
artful |
Does not exist
|
|
bionic |
Does not exist
|
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
focal |
Does not exist
|
|
hirsute |
Does not exist
|
|
impish |
Does not exist
|
|
lunar |
Does not exist
|
|
trusty |
Does not exist
(trusty was needs-triage)
|
|
upstream |
Needs triage
|
|
xenial |
Does not exist
|
|
zesty |
Does not exist
|
|
mantic |
Does not exist
|
|
golang-1.6 Launchpad, Ubuntu, Debian |
groovy |
Does not exist
|
kinetic |
Does not exist
|
|
artful |
Does not exist
|
|
bionic |
Does not exist
|
|
cosmic |
Does not exist
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
focal |
Does not exist
|
|
hirsute |
Does not exist
|
|
impish |
Does not exist
|
|
jammy |
Does not exist
|
|
lunar |
Does not exist
|
|
trusty |
Does not exist
(trusty was needs-triage)
|
|
upstream |
Needed
|
|
xenial |
Needed
|
|
zesty |
Does not exist
|
|
mantic |
Does not exist
|
|
golang-1.7 Launchpad, Ubuntu, Debian |
groovy |
Does not exist
|
kinetic |
Does not exist
|
|
artful |
Ignored
(end of life)
|
|
bionic |
Does not exist
|
|
cosmic |
Ignored
(end of life)
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
focal |
Does not exist
|
|
hirsute |
Does not exist
|
|
impish |
Does not exist
|
|
jammy |
Does not exist
|
|
lunar |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Needed
|
|
xenial |
Does not exist
|
|
zesty |
Ignored
(end of life)
|
|
mantic |
Does not exist
|
|
golang-1.8 Launchpad, Ubuntu, Debian |
groovy |
Does not exist
|
kinetic |
Does not exist
|
|
artful |
Ignored
(end of life)
|
|
bionic |
Needed
|
|
cosmic |
Ignored
(end of life)
|
|
disco |
Does not exist
|
|
eoan |
Does not exist
|
|
focal |
Does not exist
|
|
hirsute |
Does not exist
|
|
impish |
Does not exist
|
|
jammy |
Does not exist
|
|
lunar |
Does not exist
|
|
trusty |
Does not exist
|
|
upstream |
Released
(1.8.4)
|
|
xenial |
Does not exist
|
|
zesty |
Ignored
(end of life)
|
|
mantic |
Does not exist
|
|
Patches: upstream: https://go-review.googlesource.com/c/go/+/68023 |
Severity score breakdown
Parameter | Value |
---|---|
Base score | 5.9 |
Attack vector | Network |
Attack complexity | High |
Privileges required | None |
User interaction | None |
Scope | Unchanged |
Confidentiality | High |
Integrity impact | None |
Availability impact | None |
Vector | CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |