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 doesnt 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.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Go | Golang | * | 1.8.3 (including) |
Go | Golang | 1.9 (including) | 1.9 (including) |
Red Hat Developer Tools | RedHat | go-toolset-7-0:1.8-10.el7 | * |
Red Hat Developer Tools | RedHat | go-toolset-7-golang-0:1.8.5-1.el7 | * |
Red Hat Enterprise Linux 7 | RedHat | golang-0:1.9.4-1.el7 | * |
Golang | Ubuntu | trusty | * |
Golang | Ubuntu | vivid/ubuntu-core | * |
Golang-1.6 | Ubuntu | esm-infra/xenial | * |
Golang-1.6 | Ubuntu | trusty | * |
Golang-1.6 | Ubuntu | upstream | * |
Golang-1.6 | Ubuntu | xenial | * |
Golang-1.7 | Ubuntu | artful | * |
Golang-1.7 | Ubuntu | cosmic | * |
Golang-1.7 | Ubuntu | upstream | * |
Golang-1.7 | Ubuntu | zesty | * |
Golang-1.8 | Ubuntu | artful | * |
Golang-1.8 | Ubuntu | bionic | * |
Golang-1.8 | Ubuntu | cosmic | * |
Golang-1.8 | Ubuntu | esm-apps/bionic | * |
Golang-1.8 | Ubuntu | upstream | * |
Golang-1.8 | Ubuntu | zesty | * |
Golang-1.9 | Ubuntu | upstream | * |
Many communication channels can be “sniffed” (monitored) by adversaries during data transmission. For example, in networking, packets can traverse many intermediary nodes from the source to the destination, whether across the internet, an internal network, the cloud, etc. Some actors might have privileged access to a network interface or any link along the channel, such as a router, but they might not be authorized to collect the underlying data. As a result, network traffic could be sniffed by adversaries, spilling security-critical data. Applicable communication channels are not limited to software products. Applicable channels include hardware-specific technologies such as internal hardware networks and external debug channels, supporting remote JTAG debugging. When mitigations are not applied to combat adversaries within the product’s threat model, this weakness significantly lowers the difficulty of exploitation by such adversaries. When full communications are recorded or logged, such as with a packet dump, an adversary could attempt to obtain the dump long after the transmission has occurred and try to “sniff” the cleartext from the recorded communications in the dump itself.