Opened 9 months ago

Last modified 8 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 Avamander)

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.

Change History (1)

comment:1 by Avamander, 9 months ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.