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.
The product transmits sensitive or security-critical data in cleartext in a communication channel that can be sniffed by unauthorized actors.
Link | Tags |
---|---|
https://access.redhat.com/errata/RHSA-2017:3463 | vendor advisory |
https://access.redhat.com/errata/RHSA-2018:0878 | vendor advisory |
http://www.securityfocus.com/bid/101197 | vdb entry third party advisory |
https://golang.org/cl/68210 | vendor advisory |
https://golang.org/cl/68023 | issue tracking patch vendor advisory |
https://github.com/golang/go/issues/22134 | issue tracking patch vendor advisory |
https://security.gentoo.org/glsa/201710-23 | third party advisory vendor advisory |
https://groups.google.com/d/msg/golang-dev/RinSE3EiJBI/kYL7zb07AgAJ | mailing list vendor advisory |