diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2022-08-31 15:37:40 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2022-08-31 15:57:29 +0100 |
commit | 4e9ed49f8f12eb331b29bd5b6dc3693c520fddc2 (patch) | |
tree | f8041218c4d3a259b1a5c5b72ad944424f40a922 /test | |
parent | 1072af868662ea8fec30454c2d62afdee24f2c8e (diff) | |
download | exim4-4e9ed49f8f12eb331b29bd5b6dc3693c520fddc2.tar.gz |
Fix $regex<n> use-after-free. Bug 2915
Diffstat (limited to 'test')
-rw-r--r-- | test/confs/4002 | 10 | ||||
-rw-r--r-- | test/mail/4002.userx | 7 | ||||
-rw-r--r-- | test/scripts/4000-scanning/4002 | 7 |
3 files changed, 24 insertions, 0 deletions
diff --git a/test/confs/4002 b/test/confs/4002 index d9a12a368..4578cc019 100644 --- a/test/confs/4002 +++ b/test/confs/4002 @@ -10,6 +10,7 @@ rfc1413_query_timeout = 0s acl_smtp_rcpt = check_rcpt acl_smtp_data = check_data +acl_smtp_mime = check_mime acl_not_smtp = check_data @@ -20,6 +21,15 @@ begin acl check_rcpt: accept +check_mime: + warn condition = ${if match{$mime_content_type}{text}} + mime_regex = \N(?s)([\w.+=-]+@\w[\w-]*\.[\w.-]+\w)\ + (.+?([\w.+=-]+@\w[\w-]*\.[\w.-]+\w))?\ + (.+?([\w.+=-]+@\w[\w-]*\.[\w.-]+\w))?\ + (.+?([\w.+=-]+@\w[\w-]*\.[\w.-]+\w))?\ + (.+?([\w.+=-]+@\w[\w-]*\.[\w.-]+\w))?\N + accept + check_data: warn regex = \N(THIS\s((\w+)\s)?REGEX)\N message = X-Regex: Regex matched <$regex1> <$regex3> diff --git a/test/mail/4002.userx b/test/mail/4002.userx index 6bc565c3f..8ec49da09 100644 --- a/test/mail/4002.userx +++ b/test/mail/4002.userx @@ -27,9 +27,16 @@ Subject: A real test message Date: Tue, 2 Mar 1999 09:44:33 +0000 Message-ID: <41C2F849.3060203@projectile.test.ex> FakeReject: test fakereject +MIME-Version: 1.0 +Content-Type: text/plain Sender: CALLER_NAME <CALLER@myhost.test.ex> X-Regex: Regex matched <THIS gazornenplaz REGEX> <gazornenplaz> OK, this should look like a genuine message, but it will trip on THIS gazornenplaz REGEX. +This checks proper release of variable used for mime_regex +firstname@foobar.com +secondname@blaz.com +thirdname@blaz.com + diff --git a/test/scripts/4000-scanning/4002 b/test/scripts/4000-scanning/4002 index a660f6805..fcfae698b 100644 --- a/test/scripts/4000-scanning/4002 +++ b/test/scripts/4000-scanning/4002 @@ -30,9 +30,16 @@ Subject: A real test message Date: Fri, 17 Dec 2004 16:13:04 +0100 Message-ID: <41C2F849.3060203@projectile.test.ex> FakeReject: test fakereject +MIME-Version: 1.0 +Content-Type: text/plain OK, this should look like a genuine message, but it will trip on THIS gazornenplaz REGEX. + +This checks proper release of variable used for mime_regex +firstname@foobar.com +secondname@blaz.com +thirdname@blaz.com . quit **** |