[Commits] [SCM] claws-win32-installer branch, master, updated. 3.18.0-2-41-ga2170ad

jonathan at claws-mail.org jonathan at claws-mail.org
Mon Jan 24 03:00:28 CET 2022


The branch, master has been updated
       via  a2170ad63c99578984070e71d8703007761ec828 (commit)
      from  c911af315bde0d71125f1552c1135df4612334e2 (commit)

Summary of changes:
 patches/libetpan-1.9.4/07-starttls-imap.patch      | 27 +++++++++++
 patches/libetpan-1.9.4/08-starttls-smtp-pop3.patch | 52 ++++++++++++++++++++++
 2 files changed, 79 insertions(+)
 create mode 100644 patches/libetpan-1.9.4/07-starttls-imap.patch
 create mode 100644 patches/libetpan-1.9.4/08-starttls-smtp-pop3.patch


- Log -----------------------------------------------------------------
commit a2170ad63c99578984070e71d8703007761ec828
Author: Jonathan Boeing <jonathan at claws-mail.org>
Date:   Sun Jan 2 14:57:51 2022 -0700

    Add patches for libetpan CVE-2020-19593

diff --git a/patches/libetpan-1.9.4/07-starttls-imap.patch b/patches/libetpan-1.9.4/07-starttls-imap.patch
new file mode 100644
index 0000000..436bf79
--- /dev/null
+++ b/patches/libetpan-1.9.4/07-starttls-imap.patch
@@ -0,0 +1,27 @@
+From 1002a0121a8f5a9aee25357769807f2c519fa50b Mon Sep 17 00:00:00 2001
+From: Damian Poddebniak <duesee at users.noreply.github.com>
+Date: Fri, 24 Jul 2020 19:39:53 +0200
+Subject: [PATCH] Detect extra data after STARTTLS response and exit (#387)
+
+---
+ src/low-level/imap/mailimap.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/low-level/imap/mailimap.c b/src/low-level/imap/mailimap.c
+index bb17119d..4ffcf55d 100644
+--- a/src/low-level/imap/mailimap.c
++++ b/src/low-level/imap/mailimap.c
+@@ -2428,6 +2428,13 @@ int mailimap_starttls(mailimap * session)
+ 
+   mailimap_response_free(response);
+ 
++  // Detect if the server send extra data after the STARTTLS response.
++  // This *may* be a "response injection attack".
++  if (session->imap_stream->read_buffer_len != 0) {
++      // Since it is also an IMAP protocol violation, exit.
++      return MAILIMAP_ERROR_STARTTLS;
++  }
++
+   switch (error_code) {
+   case MAILIMAP_RESP_COND_STATE_OK:
+     return MAILIMAP_NO_ERROR;
diff --git a/patches/libetpan-1.9.4/08-starttls-smtp-pop3.patch b/patches/libetpan-1.9.4/08-starttls-smtp-pop3.patch
new file mode 100644
index 0000000..afa3022
--- /dev/null
+++ b/patches/libetpan-1.9.4/08-starttls-smtp-pop3.patch
@@ -0,0 +1,52 @@
+From 298460a2adaabd2f28f417a0f106cb3b68d27df9 Mon Sep 17 00:00:00 2001
+From: Fabian Ising <Murgeye at users.noreply.github.com>
+Date: Fri, 24 Jul 2020 19:40:48 +0200
+Subject: [PATCH] Detect extra data after STARTTLS responses in SMTP and POP3
+ and exit (#388)
+
+* Detect extra data after STLS response and return error
+
+* Detect extra data after SMTP STARTTLS response and return error
+---
+ src/low-level/pop3/mailpop3.c | 8 ++++++++
+ src/low-level/smtp/mailsmtp.c | 8 ++++++++
+ 2 files changed, 16 insertions(+)
+
+diff --git a/src/low-level/pop3/mailpop3.c b/src/low-level/pop3/mailpop3.c
+index ab9535be..e2124bf8 100644
+--- a/src/low-level/pop3/mailpop3.c
++++ b/src/low-level/pop3/mailpop3.c
+@@ -959,6 +959,14 @@ int mailpop3_stls(mailpop3 * f)
+ 
+   if (r != RESPONSE_OK)
+     return MAILPOP3_ERROR_STLS_NOT_SUPPORTED;
++
++  // Detect if the server send extra data after the STLS response.
++  // This *may* be a "response injection attack".
++  if (f->pop3_stream->read_buffer_len != 0) {
++    // Since it is also protocol violation, exit.
++    // There is no error type for STARTTLS errors in POP3
++    return MAILPOP3_ERROR_SSL;
++  }
+   
+   return MAILPOP3_NO_ERROR;
+ }
+diff --git a/src/low-level/smtp/mailsmtp.c b/src/low-level/smtp/mailsmtp.c
+index b7fc459e..3145cadf 100644
+--- a/src/low-level/smtp/mailsmtp.c
++++ b/src/low-level/smtp/mailsmtp.c
+@@ -1111,6 +1111,14 @@ int mailesmtp_starttls(mailsmtp * session)
+     return MAILSMTP_ERROR_STREAM;
+   r = read_response(session);
+ 
++  // Detect if the server send extra data after the STARTTLS response.
++  // This *may* be a "response injection attack".
++  if (session->stream->read_buffer_len != 0) {
++    // Since it is also protocol violation, exit.
++    // There is no general error type for STARTTLS errors in SMTP
++    return MAILSMTP_ERROR_SSL;
++  }
++
+   switch (r) {
+   case 220:
+     return MAILSMTP_NO_ERROR;

-----------------------------------------------------------------------


hooks/post-receive
-- 
Installer sources for Claws Mail Windows port


More information about the Commits mailing list