CVE-2019-17596
📋 TL;DR
A vulnerability in Go's crypto/dsa package causes a panic when processing network traffic containing invalid DSA public keys. This can lead to denial of service attacks against servers that verify client certificates or process DSA-signed traffic. Affects Go applications and services using DSA cryptography.
💻 Affected Systems
- Go programming language
- Applications built with Go using crypto/dsa
📦 What is this software?
Eos by Arista
Fedora by Fedoraproject
Fedora by Fedoraproject
Go by Golang
Go by Golang
Leap by Opensuse
Leap by Opensuse
Mos by Arista
⚠️ Risk & Real-World Impact
Worst Case
Remote denial of service causing service crashes and availability impact on internet-facing services
Likely Case
Service disruption through crafted network traffic causing panic and restart
If Mitigated
Limited impact with proper monitoring and automatic restart mechanisms
🎯 Exploit Status
Exploitation requires sending specially crafted network traffic to vulnerable services
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Go 1.12.11 or Go 1.13.2
Vendor Advisory: https://github.com/golang/go/issues/34960
Restart Required: Yes
Instructions:
1. Update Go installation to 1.12.11 or 1.13.2. 2. Recompile all Go applications with updated version. 3. Restart affected services.
🔧 Temporary Workarounds
Disable DSA certificate verification
allConfigure services to not use DSA certificates for client verification
Network filtering
allBlock or filter traffic containing DSA certificates at network perimeter
🧯 If You Can't Patch
- Implement rate limiting and monitoring for service crashes
- Use load balancers with health checks and automatic failover
🔍 How to Verify
Check if Vulnerable:
Check Go version with 'go version' command and verify if within affected range
Check Version:
go version
Verify Fix Applied:
Confirm Go version is 1.12.11+ or 1.13.2+ and test with known invalid DSA key
📡 Detection & Monitoring
Log Indicators:
- Go panic logs mentioning crypto/dsa
- Service crashes during TLS handshake
Network Indicators:
- Unusual traffic patterns with DSA certificates
- Repeated connection attempts to TLS services
SIEM Query:
source="application.log" AND "panic" AND "crypto/dsa"
🔗 References
- http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00043.html
- http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00044.html
- https://access.redhat.com/errata/RHSA-2020:0101
- https://access.redhat.com/errata/RHSA-2020:0329
- https://github.com/golang/go/issues/34960
- https://groups.google.com/d/msg/golang-announce/lVEm7llp0w0/VbafyRkgCgAJ
- https://lists.debian.org/debian-lts-announce/2021/03/msg00014.html
- https://lists.debian.org/debian-lts-announce/2021/03/msg00015.html
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/5VS3HPSE25ZSGS4RSOTADC67YNOHIGVV/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/WVOWGM7IQGRO7DS2MCUMYZRQ4TYOZNAS/
- https://security.netapp.com/advisory/ntap-20191122-0005/
- https://www.arista.com/en/support/advisories-notices/security-advisories/10134-security-advisory-46
- https://www.debian.org/security/2019/dsa-4551
- http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00043.html
- http://lists.opensuse.org/opensuse-security-announce/2019-11/msg00044.html
- https://access.redhat.com/errata/RHSA-2020:0101
- https://access.redhat.com/errata/RHSA-2020:0329
- https://github.com/golang/go/issues/34960
- https://groups.google.com/d/msg/golang-announce/lVEm7llp0w0/VbafyRkgCgAJ
- https://lists.debian.org/debian-lts-announce/2021/03/msg00014.html
- https://lists.debian.org/debian-lts-announce/2021/03/msg00015.html
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/5VS3HPSE25ZSGS4RSOTADC67YNOHIGVV/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/WVOWGM7IQGRO7DS2MCUMYZRQ4TYOZNAS/
- https://security.netapp.com/advisory/ntap-20191122-0005/
- https://www.arista.com/en/support/advisories-notices/security-advisories/10134-security-advisory-46
- https://www.debian.org/security/2019/dsa-4551