3 Credits: https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/
4 Version(s): all up to 4.97 inclusive
5 Issue: Given a buggy relay, Exim can be induced to accept a second message embedded
6 as part of the body of a first message
11 If *all* the following conditions are met
16 * Exim offers PIPELINING on incoming connections
18 * Exim offers CHUNKING on incoming connections
23 * DATA (as opposed to BDAT) is used for a message reception
25 * The relay host sends to the Exim MTA message data including
26 one of "LF . LF" or "CR LF . LF" or "LF . CR LF".
28 * Exim interprets the sequence as signalling the end of data for
29 the SMTP DATA command, and hence a first message.
31 * Exim interprets further input which the relay had as message body
32 data, as SMTP commands and data. This could include a MAIL, RCPT,
33 BDAT (etc) sequence, resulting in a further message acceptance.
38 One or more messages can be accepted by Exim that have not been
39 properly validated by the buggy relay.
44 Install a fixed Exim version:
49 If you can't install one of the above versions, ask your package
50 maintainer for a version containing the backported fix. On request and
51 depending on our resources we will support you in backporting the fix.
52 (Please note, that Exim project officially doesn't support versions
53 prior the current stable version.)
59 Disable CHUNKING advertisement for incoming connections.
61 An attempt to "smuggle" a DATA command will trip a syncronisation
66 Disable PIPELINING advertisement for incoming connections.
68 The "smuggled" MAIL FROM command will then trip a syncronisation