summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorjsing <>2018-05-12 17:27:22 +0000
committerjsing <>2018-05-12 17:27:22 +0000
commit3f65a6101076de0d6e6618882055842165daf137 (patch)
treebfbf05494fc9558692f4c44344631fcde648df29 /src/lib
parent53d4b718a9c6f35dea63adcfc4640490d5e1a267 (diff)
downloadopenbsd-3f65a6101076de0d6e6618882055842165daf137.tar.gz
openbsd-3f65a6101076de0d6e6618882055842165daf137.tar.bz2
openbsd-3f65a6101076de0d6e6618882055842165daf137.zip
If we fail to decode an EC point format extension, send a decode_error
alert rather than an internal_error alert. Issue found by Simon Friedberger, Robert Merget and Juraj Somorovsky. ok beck@ inoguchi@
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libssl/ssl_tlsext.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/libssl/ssl_tlsext.c b/src/lib/libssl/ssl_tlsext.c
index 3735b719db..b70be87f3a 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.21 2018/02/08 11:30:30 jsing Exp $ */ 1/* $OpenBSD: ssl_tlsext.c,v 1.22 2018/05/12 17:27:22 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2016, 2017 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2016, 2017 Joel Sing <jsing@openbsd.org>
4 * Copyright (c) 2017 Doug Hogan <doug@openbsd.org> 4 * Copyright (c) 2017 Doug Hogan <doug@openbsd.org>
@@ -333,14 +333,16 @@ tlsext_ecpf_parse(SSL *s, CBS *cbs, int *alert)
333 333
334 if (!s->internal->hit) { 334 if (!s->internal->hit) {
335 if (!CBS_stow(&ecpf, &(SSI(s)->tlsext_ecpointformatlist), 335 if (!CBS_stow(&ecpf, &(SSI(s)->tlsext_ecpointformatlist),
336 &(SSI(s)->tlsext_ecpointformatlist_length))) 336 &(SSI(s)->tlsext_ecpointformatlist_length))) {
337 goto err; 337 *alert = TLS1_AD_INTERNAL_ERROR;
338 return 0;
339 }
338 } 340 }
339 341
340 return 1; 342 return 1;
341 343
342 err: 344 err:
343 *alert = TLS1_AD_INTERNAL_ERROR; 345 *alert = SSL_AD_DECODE_ERROR;
344 return 0; 346 return 0;
345} 347}
346 348