summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbeck <>2024-03-28 00:22:35 +0000
committerbeck <>2024-03-28 00:22:35 +0000
commit530c97f22c645521413a86aa2dc6a5dd8354200d (patch)
treea7670f1b8fc0d3c326dae7779ffbc9a1f56a2e22 /src
parent004f0a8ad8e13428adef24cd9279ab44fad1f2d2 (diff)
downloadopenbsd-530c97f22c645521413a86aa2dc6a5dd8354200d.tar.gz
openbsd-530c97f22c645521413a86aa2dc6a5dd8354200d.tar.bz2
openbsd-530c97f22c645521413a86aa2dc6a5dd8354200d.zip
Stop pandering to the loadbalancer industrial complex.
So we initially kept this hack around for f5 boxes that should have been patched in 2014, and were not as of 2017. The f5 article for the bug archived on their web site, and any of these devices on the public internet will have since been upgraded to deal with a host of record layer, TLS, and other bugs, or they likely won't be talking to modern stacks, since as of this point the software with the bug would not have been updated in 10 years. So just make this spec compliant and reject a supported groups extension that should not have been sent by a server. ok tb@ jsing@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/ssl_tlsext.c20
1 files changed, 3 insertions, 17 deletions
diff --git a/src/lib/libssl/ssl_tlsext.c b/src/lib/libssl/ssl_tlsext.c
index 14cf6fce84..6649baf291 100644
--- a/src/lib/libssl/ssl_tlsext.c
+++ b/src/lib/libssl/ssl_tlsext.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_tlsext.c,v 1.145 2024/03/27 22:27:09 beck Exp $ */ 1/* $OpenBSD: ssl_tlsext.c,v 1.146 2024/03/28 00:22:35 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2016, 2017, 2019 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2016, 2017, 2019 Joel Sing <jsing@openbsd.org>
4 * Copyright (c) 2017 Doug Hogan <doug@openbsd.org> 4 * Copyright (c) 2017 Doug Hogan <doug@openbsd.org>
@@ -324,22 +324,8 @@ static int
324tlsext_supportedgroups_client_process(SSL *s, uint16_t msg_type, CBS *cbs, 324tlsext_supportedgroups_client_process(SSL *s, uint16_t msg_type, CBS *cbs,
325 int *alert) 325 int *alert)
326{ 326{
327 /* 327 /* Servers should not send this extension per the RFC. */
328 * Servers should not send this extension per the RFC. 328 return 0;
329 *
330 * However, certain F5 BIG-IP systems incorrectly send it. This bug is
331 * from at least 2014 but as of 2017, there are still large sites with
332 * this unpatched in production. As a result, we need to currently skip
333 * over the extension and ignore its content:
334 *
335 * https://support.f5.com/csp/article/K37345003
336 */
337 if (!CBS_skip(cbs, CBS_len(cbs))) {
338 *alert = SSL_AD_INTERNAL_ERROR;
339 return 0;
340 }
341
342 return 1;
343} 329}
344 330
345/* 331/*