Conversation

CVE-2021-3450 is kinda delightful because it was introduced by a change that rejects custom curve parameters (which is what broke Windows last year), and it only affects X509_V_FLAG_X509_STRICT mode. Complexity is killer.
5
62
CVE-2021-3449 looks like it could have been found easily if anyone figured out how to fuzz renegotiation, but renegotiation is sadness. Anyway, sounds like you can crash most OpenSSL servers on the Internet today.
7
67
Complexity (like custom curve parameters) not only breeds vulnerabilities (like the Windows certificate check bypass) but also complex patches, which in turn breed more vulnerabilities (CVE-2021-3449). Previously:
1
37
Nice extra lesson from CVE-2021-3450: code that the application doesn't need should be unreachable, not just disabled. Nginx disables renegotiation, but not in a way that protects it from the crash, because until recently the only way was a callback.
Quote Tweet
Replying to @fapolloner @terorie_dev and @DanielMicay
My guess is that to be protected one needs to set SSL_OP_NO_RENEGOTIATION which is not the nginx default. mailman.nginx.org/pipermail/ngin Instead, I think nginx by default cancels renegotiation via SSL_CTX_set_info_callback, which is too late. github.com/nginx/nginx/bl
1
14
Replying to and
If you take a look at the nginx changelog, they have assorted memory corruption fixes, denial of service fixes, etc. over the past few years. A lot of those are relevant to the obsolete LTS branches. Distributions freezing versions for years have their heads buried in the sand.
1
1
Replying to and
I wouldn't necessarily want to run nginx mainline in production even though that's the upstream suggestion but the LTS branch is very stable. I don't really understand why people even want their distribution freezing packages for literally years with hardly any fixes backported.
1
1
Show replies