CVE-2017-3204: High severity Golang crypto vulnerability

Published Apr 4, 2017
·
Updated

The Go SSH library (golang.org/x/crypto/ssh) by default does not verify host keys, facilitating man-in-the-middle attacks if ClientConfig.HostKeyCallback is not set. Default behavior changed in commit e4e2799 to require explicitly registering a hostkey verification mechanism.

Other sources

The Go SSH library (x/crypto/ssh) by default does not verify host keys, facilitating man-in-the-middle attacks. Default behavior changed in commit e4e2799 to require explicitly registering a hostkey verification mechanism.

Affected Software

2 affected componentsFixes available
go/golang.org/x/crypto<0.0.0-20170330155735-e4e2799dd7aa
0.0.0-20170330155735-e4e2799dd7aa
Golang crypto<=2017-03-17

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/golang.org/x/crypto to a version that resolves this vulnerability.

    Fixed in 0.0.0-20170330155735-e4e2799dd7aa
  2. Configuration

    Update Go SSH client configuration to explicitly set ClientConfig.HostKeyCallback so the client verifies server host keys, preventing man-in-the-middle attacks. (Behavior change mentioned for commit e4e2799 requiring explicit hostkey verification mechanism registration.)

    golang.org/x/crypto/ssh (Go SSH) ClientConfig HostKeyCallback = Set to an explicit host key verification mechanism (do not leave unset)

Event History

Apr 4, 2017
CVE Published
via MITRE·02:00 PM
Data Sourced
via MITRE·02:00 PM
DescriptionWeakness
Data Sourced
via NVD·02:59 PM
RemedyDescriptionSeverityWeaknessAffected Software
Feb 7, 2023
Advisory Published
via GitHub·10:39 PM
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2017-3204?

CVE-2017-3204 is considered a medium severity vulnerability due to the risk of man-in-the-middle attacks.

2

How do I fix CVE-2017-3204?

To fix CVE-2017-3204, ensure that the ClientConfig.HostKeyCallback is explicitly set to verify host keys.

3

Which versions of the Go SSH library are affected by CVE-2017-3204?

CVE-2017-3204 affects versions of the Go SSH library prior to the commit e4e2799.

4

What type of attack does CVE-2017-3204 facilitate?

CVE-2017-3204 facilitates man-in-the-middle attacks by not verifying host keys.

5

Is there a default security risk with the Go SSH library as per CVE-2017-3204?

Yes, the default behavior of the Go SSH library does not verify host keys, posing a security risk.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203