SSL_WEAK_CIPHER
security
protocol_error
ai_generated
true
TLS weak cipher suite negotiation: server allows export-grade ciphers enabling downgrade attack
ID: security/tls-weak-cipher-downgrade
88%Fix Rate
87%Confidence
1Evidence
2023-03-01First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| OpenSSL 1.1.1 | active | — | — | — |
| nginx 1.20.0 | active | — | — | — |
| Apache httpd 2.4.48 | active | — | — | — |
Root Cause
The TLS server supports deprecated cipher suites (e.g., EXPORT, DES, RC4) or allows protocol downgrade to TLS 1.0/1.1, enabling man-in-the-middle attackers to force weak encryption.
generic中文
TLS服务器支持已弃用的密码套件(如EXPORT、DES、RC4)或允许协议降级至TLS 1.0/1.1,使中间人攻击者可以强制使用弱加密。
Official Documentation
https://wiki.openssl.org/index.php/TLS_Downgrade_ProtectionWorkarounds
-
95% success Disable all weak cipher suites and enforce TLS 1.2+ only. Example nginx config: ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:...'; ssl_prefer_server_ciphers on;
Disable all weak cipher suites and enforce TLS 1.2+ only. Example nginx config: ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:...'; ssl_prefer_server_ciphers on;
-
90% success Use a tool like Mozilla SSL Configuration Generator to produce a hardened configuration, then test with sslyze or testssl.sh
Use a tool like Mozilla SSL Configuration Generator to produce a hardened configuration, then test with sslyze or testssl.sh
-
85% success Enable TLS 1.3 support which mandates strong ciphers and provides downgrade protection via the ServerHello random value
Enable TLS 1.3 support which mandates strong ciphers and provides downgrade protection via the ServerHello random value
中文步骤
Disable all weak cipher suites and enforce TLS 1.2+ only. Example nginx config: ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:...'; ssl_prefer_server_ciphers on;
Use a tool like Mozilla SSL Configuration Generator to produce a hardened configuration, then test with sslyze or testssl.sh
Enable TLS 1.3 support which mandates strong ciphers and provides downgrade protection via the ServerHello random value
Dead Ends
Common approaches that don't work:
-
70% fail
Weak ciphers like RC4 and DES are still supported in TLS 1.1 and 1.2, allowing downgrade.
-
90% fail
Does not fix the server configuration; attackers can use different IPs or proxies.
-
60% fail
HSTS only protects against SSL stripping, not cipher suite downgrade within the same protocol.