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.
CVE-2017-3204
This high-severity CVE scores 8.1 under NVD CVSS v3. EPSS exploit probability: 3.2%, top 13% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- High severity, but no confirmed exploitation yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 8.1
- EG Score
- 8.1(medium)
- EG Risk
- 42(Track)EG Risk 42/100SSVC: Track
EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).
How it’s computedSeverity81% × 45%Exploitation3% × 40%Automatability30% × 15%Action: Routine — remediate on your standard cadence. - EPSS PROB
- 3%
- EPSS %ILE
- 87%
- KEV
- Not listed
Published
April 4, 2017
Last Modified
June 17, 2026
Advisory Details (5)
Auto-updated Sep 16, 2026x/crypto/ssh: make ClientConfig HostKeyCallback non-permissive by default · Issue #19767 · golang/go · GitHub
https://github.com/golang/go/issues/19767commit e4e2799dd7aa (golang/crypto)
Fix landed in golang/crypto commit e4e2799dd7aa — awaiting tagged release
https://github.com/golang/crypto/commit/e4e2799dd7aab89f583e1d898300d96367750991Golang SSH Security : The Grumpy Troll
https://bridge.grumpy-troll.org/2017/04/golang-ssh-security/Affected Packages
(5 across 5 ecosystems)
Debian:11(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| golang-go.crypto | — | 1:0.0~git20170407.0.55a552f+REALLY.0.0~git20161012.0.5f31782-1 | — |
Debian:12(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| golang-go.crypto | — | 1:0.0~git20170407.0.55a552f+REALLY.0.0~git20161012.0.5f31782-1 | — |
Debian:13(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| golang-go.crypto | — | 1:0.0~git20170407.0.55a552f+REALLY.0.0~git20161012.0.5f31782-1 | — |
Debian:14(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| golang-go.crypto | — | 1:0.0~git20170407.0.55a552f+REALLY.0.0~git20161012.0.5f31782-1 | — |
Go(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| golang.org/x/crypto | — | 0.0.0-20170330155735-e4e2799dd7aa | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 7× in last 7d / 22× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
Showing the most recent 100 of 139 total refreshes for this CVE.
- 2026-09-18 19:22 UTCEPSS rescore
- 2026-09-18 13:06 UTCOSV refresh
- 2026-09-17 19:22 UTCEPSS rescore
- 2026-09-15 03:05 UTCEPSS rescore
- 2026-09-15 03:05 UTCEPSS rescore
- 2026-09-13 16:42 UTCEPSS rescore
- 2026-09-12 14:55 UTCEPSS rescore
- 2026-09-11 09:31 UTCEPSS rescore
- 2026-09-07 15:56 UTCEPSS rescore
- 2026-09-06 13:43 UTCEPSS rescore
- 2026-09-05 15:23 UTCEPSS rescore
- 2026-09-04 13:56 UTCEPSS rescore
- 2026-09-02 14:07 UTCEPSS rescore
- 2026-09-02 14:07 UTCEPSS rescore
- 2026-09-01 03:31 UTCEPSS rescore
- 2026-08-30 19:13 UTCEPSS rescore
- 2026-08-30 14:21 UTCOSV refresh
- 2026-08-27 14:21 UTCEPSS rescore
- 2026-08-26 14:41 UTCEPSS rescore
- 2026-08-25 13:44 UTCEPSS rescore
- 2026-08-21 23:44 UTCEPSS rescore
- 2026-08-20 22:51 UTCEPSS rescore
- 2026-08-19 16:59 UTCEPSS rescore
- 2026-08-18 13:43 UTCEPSS rescore
- 2026-08-17 13:42 UTCEPSS rescore
Show 75 moreShow fewer
- 2026-08-16 14:51 UTCEPSS rescore
- 2026-08-16 02:10 UTCEPSS rescore
- 2026-08-15 01:26 UTCEPSS rescore
- 2026-08-14 03:48 UTCOSV refresh
- 2026-08-12 13:46 UTCEPSS rescore
- 2026-08-09 13:42 UTCEPSS rescore
- 2026-08-07 16:22 UTCEPSS rescore
- 2026-08-06 13:42 UTCEPSS rescore
- 2026-08-05 19:12 UTCEPSS rescore
- 2026-08-04 15:05 UTCEPSS rescore
- 2026-08-02 02:23 UTCEPSS rescore
- 2026-08-01 04:11 UTCEPSS rescore
- 2026-07-30 16:24 UTCEPSS rescore
- 2026-07-30 01:26 UTCEPSS rescore
- 2026-07-29 08:33 UTCOSV refresh
- 2026-07-28 15:32 UTCEPSS rescore
- 2026-07-26 14:51 UTCEPSS rescore
- 2026-07-23 14:15 UTCEPSS rescore
- 2026-07-23 01:29 UTCEG score recompute
- 2026-07-22 22:08 UTCEG score recompute
- 2026-07-22 14:04 UTCEPSS rescore
- 2026-07-22 14:04 UTCEPSS rescore
- 2026-07-21 15:21 UTCEPSS rescore
- 2026-07-21 15:21 UTCEPSS rescore
- 2026-07-20 17:04 UTCEPSS rescore
- 2026-07-19 14:28 UTCEPSS rescore
- 2026-07-19 14:28 UTCEPSS rescore
- 2026-07-19 02:26 UTCEPSS rescore
- 2026-07-19 02:26 UTCEPSS rescore
- 2026-07-18 10:00 UTCEPSS rescore
- 2026-07-16 16:59 UTCEPSS rescore
- 2026-07-16 16:59 UTCEPSS rescore
- 2026-07-15 16:54 UTCEPSS rescore
- 2026-07-15 01:56 UTCEPSS rescore
- 2026-07-15 01:56 UTCEPSS rescore
- 2026-07-13 22:26 UTCEPSS rescore
- 2026-07-12 05:43 UTCEPSS rescore
- 2026-07-12 01:11 UTCOSV refresh
- 2026-07-11 08:24 UTCEPSS rescore
- 2026-07-09 19:06 UTCEPSS rescore
- 2026-07-08 15:10 UTCEPSS rescore
- 2026-07-07 13:42 UTCEPSS rescore
- 2026-07-06 16:24 UTCEPSS rescore
- 2026-07-06 16:24 UTCEPSS rescore
- 2026-07-06 02:20 UTCEPSS rescore
- 2026-07-06 02:20 UTCEPSS rescore
- 2026-07-05 02:27 UTCEPSS rescore
- 2026-07-04 06:28 UTCEPSS rescore
- 2026-07-02 16:54 UTCEPSS rescore
- 2026-07-01 15:02 UTCEPSS rescore
- 2026-06-30 23:19 UTCEPSS rescore
- 2026-06-30 23:19 UTCEPSS rescore
- 2026-06-28 04:53 UTCEPSS rescore
- 2026-06-27 03:06 UTCEPSS rescore
- 2026-06-27 03:05 UTCEPSS rescore
- 2026-06-25 13:47 UTCEPSS rescore
- 2026-06-24 14:02 UTCEPSS rescore
- 2026-06-24 14:02 UTCEPSS rescore
- 2026-06-23 07:30 UTCOSV refresh
- 2026-06-22 14:23 UTCEPSS rescore
- 2026-06-22 14:23 UTCEPSS rescore
- 2026-06-21 01:57 UTCEPSS rescore
- 2026-06-21 01:57 UTCEPSS rescore
- 2026-06-19 19:23 UTCEPSS rescore
- 2026-06-19 19:23 UTCEPSS rescore
- 2026-06-18 17:50 UTCEPSS rescore
- 2026-06-17 17:50 UTCEPSS rescore
- 2026-06-16 17:50 UTCEPSS rescore
- 2026-06-16 17:50 UTCEPSS rescore
- 2026-06-15 17:45 UTCEPSS rescore
- 2026-06-14 23:14 UTCEPSS rescore
- 2026-06-13 22:57 UTCEPSS rescore
- 2026-06-12 23:09 UTCEPSS rescore
- 2026-06-10 22:15 UTCEPSS rescore
- 2026-06-10 13:19 UTCEPSS rescore
Frequently asked(5)
What is CVE-2017-3204?
When was CVE-2017-3204 disclosed?
Is CVE-2017-3204 actively exploited?
What is the CVSS score of CVE-2017-3204?
How do I remediate CVE-2017-3204?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2017-3204
Is Your Infrastructure Affected by CVE-2017-3204?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.