CVE-2022-30591
📋 TL;DR
CVE-2022-30591 is a denial-of-service vulnerability in quic-go where attackers can cause high CPU consumption by sending incomplete QUIC or HTTP/3 requests (Slowloris variant). This affects systems using quic-go versions through 0.27.0 for QUIC/HTTP/3 implementations.
💻 Affected Systems
- quic-go
📦 What is this software?
Quic Go by Quic Go Project
⚠️ Risk & Real-World Impact
Worst Case
Complete service unavailability due to CPU exhaustion, affecting all QUIC/HTTP/3 connections through the vulnerable component.
Likely Case
Degraded performance and intermittent service disruptions under targeted attack conditions.
If Mitigated
Minimal impact with proper rate limiting, connection timeouts, and updated versions.
🎯 Exploit Status
Exploitation requires sending malformed QUIC/HTTP/3 packets but doesn't require special tools beyond network access.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 0.27.1 and later
Vendor Advisory: https://github.com/lucas-clemente/quic-go/releases
Restart Required: Yes
Instructions:
1. Update quic-go to version 0.27.1 or later using 'go get github.com/lucas-clemente/quic-go@latest'. 2. Rebuild and redeploy applications using quic-go. 3. Restart services using the updated library.
🔧 Temporary Workarounds
Rate limiting and connection timeouts
allImplement connection rate limiting and aggressive timeouts for incomplete connections
Configure application-level connection limits and timeouts in your quic-go implementation
Network-level protections
linuxUse firewalls or WAFs to limit QUIC/HTTP/3 connections from single sources
iptables -A INPUT -p udp --dport 443 -m connlimit --connlimit-above 10 -j DROP (example for Linux)
🧯 If You Can't Patch
- Implement network segmentation to isolate QUIC/HTTP/3 services from untrusted networks
- Deploy DDoS protection services that can detect and mitigate Slowloris-style attacks
🔍 How to Verify
Check if Vulnerable:
Check go.mod or vendor dependencies for quic-go version <=0.27.0
Check Version:
grep 'quic-go' go.mod | grep -o 'v[0-9.]\+'
Verify Fix Applied:
Verify quic-go version is >=0.27.1 in dependencies and monitor CPU usage during QUIC/HTTP/3 traffic
📡 Detection & Monitoring
Log Indicators:
- High CPU usage spikes correlated with QUIC/HTTP/3 connections
- Abnormally high number of incomplete connection attempts
Network Indicators:
- Unusual patterns of incomplete QUIC handshakes
- Multiple connections from single sources with incomplete requests
SIEM Query:
source="application_logs" ("quic-go" OR "HTTP/3") AND ("high cpu" OR "slow connection" OR "incomplete handshake")