Welcome! Log In Create A New Profile

Advanced

[nginx] OCSP stapling: fixed segfault with dynamic certificate loading.

Maxim Dounin
April 15, 2019 01:14PM
details: https://hg.nginx.org/nginx/rev/dbebbb25ae92
branches:
changeset: 7493:dbebbb25ae92
user: Maxim Dounin <mdounin@mdounin.ru>
date: Mon Apr 15 19:13:09 2019 +0300
description:
OCSP stapling: fixed segfault with dynamic certificate loading.

If OCSP stapling was enabled with dynamic certificate loading, with some
OpenSSL versions (1.0.2o and older, 1.1.0h and older; fixed in 1.0.2p,
1.1.0i, 1.1.1) a segmentation fault might happen.

The reason is that during an abbreviated handshake the certificate
callback is not called, but the certificate status callback was called
(https://github.com/openssl/openssl/issues/1662), leading to NULL being
returned from SSL_get_certificate().

Fix is to explicitly check SSL_get_certificate() result.

diffstat:

src/event/ngx_event_openssl_stapling.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)

diffs (15 lines):

diff --git a/src/event/ngx_event_openssl_stapling.c b/src/event/ngx_event_openssl_stapling.c
--- a/src/event/ngx_event_openssl_stapling.c
+++ b/src/event/ngx_event_openssl_stapling.c
@@ -511,6 +511,11 @@ ngx_ssl_certificate_status_callback(ngx_
rc = SSL_TLSEXT_ERR_NOACK;

cert = SSL_get_certificate(ssl_conn);
+
+ if (cert == NULL) {
+ return rc;
+ }
+
staple = X509_get_ex_data(cert, ngx_ssl_stapling_index);

if (staple == NULL) {
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] OCSP stapling: fixed segfault with dynamic certificate loading.

Maxim Dounin 139 April 15, 2019 01:14PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 82
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready