Opened 16 months ago
Last modified 15 months ago
#2542 new defect
ssl_ecdh_curve is sometimes ignored in server blocks — at Version 1
Reported by: | Avamander | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | nginx-module | Version: | 1.18.x |
Keywords: | ssl_ecdh_curve, kex, default_server | Cc: | Avamander |
uname -a: | 5.15.0-78-generic Ubuntu | ||
nginx -V: | nginx version: nginx/1.18.0 (Ubuntu) |
Description (last modified by )
Consider a scenario when a single IP x.y.z.q
has two server blocks. Both server blocks listen on the same port and support TLS. One of those blocks is marked default_server
and handles the non-SNI requests.
If both blocks define ssl_ecdh_curve
then it has zero effect on the non-default_server
. This is done without warning.
One of the possible implications of this is that a more secure configuration is silently ignored. (I stumbled upon this when trying to enable post-quantum key exchange algorithms.)
Understandably nginx can't (currently, even though server_name could be read before KeXs come into play) respect the directive in both blocks, but in that case the ignored one should throw a non-critical warning. Plus, it could be better-documented.