forked from rpms/nginx
32 lines
1.2 KiB
Diff
32 lines
1.2 KiB
Diff
From 9bc13718fe8a59a4538805516be7e141070c22d6 Mon Sep 17 00:00:00 2001
|
|
From: Sergey Kandaurov <pluknet@nginx.com>
|
|
Date: Wed, 18 Mar 2026 16:39:37 +0400
|
|
Subject: [PATCH] Mail: fixed clearing s->passwd in auth http requests.
|
|
|
|
Previously, it was not properly cleared retaining length as part of
|
|
authenticating with CRAM-MD5 and APOP methods that expect to receive
|
|
password in auth response. This resulted in null pointer dereference
|
|
and worker process crash in subsequent auth attempts with CRAM-MD5.
|
|
|
|
Reported by Arkadi Vainbrand.
|
|
---
|
|
src/mail/ngx_mail_auth_http_module.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/src/mail/ngx_mail_auth_http_module.c b/src/mail/ngx_mail_auth_http_module.c
|
|
index 4ca6d6e24..3e5095a2d 100644
|
|
--- a/src/mail/ngx_mail_auth_http_module.c
|
|
+++ b/src/mail/ngx_mail_auth_http_module.c
|
|
@@ -1328,7 +1328,7 @@ ngx_mail_auth_http_create_request(ngx_mail_session_t *s, ngx_pool_t *pool,
|
|
b->last = ngx_cpymem(b->last, "Auth-Salt: ", sizeof("Auth-Salt: ") - 1);
|
|
b->last = ngx_copy(b->last, s->salt.data, s->salt.len);
|
|
|
|
- s->passwd.data = NULL;
|
|
+ ngx_str_null(&s->passwd);
|
|
}
|
|
|
|
b->last = ngx_cpymem(b->last, "Auth-Protocol: ",
|
|
--
|
|
2.53.0
|
|
|