SMTP Smuggling: What it is and how Stalwart is protected
Tags: email, server, smtp, smuggling
Published: 2024-01-02 10:50:45

In the world of email security, a recent concern has arisen known as [SMTP Smuggling](https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/), a vulnerability that can be exploited to spoof emails. This blog post will explain what SMTP smuggling is and how [Stalwart Mail Server](https://github.com/stalwartlabs/mail-server) is designed to be immune to this vulnerability. We'll also discuss a new feature we've implemented to protect other servers that might be vulnerable.

### Understanding SMTP Smuggling

SMTP smuggling is an exploitation technique that manipulates SMTP conversations to send spoofed emails from arbitrary addresses. It leverages interpretation differences in the SMTP protocol to bypass security checks like SPF alignment. The technique was identified as effective against multiple email providers and could have significant implications for email security.

Traditionally, the end of data in an SMTP conversation is indicated by a sequence `<CR><LF>.<CR><LF>` (CR LF stands for Carriage Return and Line Feed, standard text delimiters). However, if an SMTP server improperly interprets this sequence, it can be tricked into starting a new email within the content of an existing email, allowing attackers to inject malicious content and spoof emails that bypass SPF alignment checks.

Research has shown that even large organizations with sophisticated IT infrastructure are not immune to SMTP smuggling attacks. Notable entities such as Ebay, PayPal, Amazon, and even Microsoft, through their use of services like Microsoft Exchange Online, have experienced challenges due to non-compliance with certain RFC specifications. This underscores the importance of adhering to established protocols and standards in email communications. Compliance with these specifications is crucial for ensuring the security and integrity of email systems.

This vulnerability has led to calls for increased vigilance and improved email server configurations to prevent such exploits. For a detailed understanding of SMTP smuggling, please refer to the full article on [SEC Consult's blog](https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/).

### How Stalwart is Protected

[Stalwart Mail Server](https://github.com/stalwartlabs/mail-server) is designed with robust security measures that inherently protect it from SMTP smuggling attacks. Stalwart only accepts `<CR><LF>.<CR><LF>` as the terminating sequence for a `DATA` command. This strict adherence to protocol specifications prevents the ambiguity that can lead to smuggling attacks. Furthermore, when sending outgoing messages, [Stalwart Mail Server](https://github.com/stalwartlabs/mail-server) utilizes the `BDAT` command whenever available. The `BDAT` command is not susceptible to SMTP smuggling issues, as it specifies the exact amount of data being sent, leaving no room for misinterpretation.

### Protecting other Servers

While [Stalwart Mail Server](https://github.com/stalwartlabs/mail-server) itself is not vulnerable to SMTP smuggling, we recognize that other servers might be. To help protect the broader email ecosystem, we have introduced in version `0.5.1` a feature to sanitize outgoing messages that might attempt to exploit this bug in other servers. This feature involves applying the transparency procedure described in [RFC5321](https://datatracker.ietf.org/doc/html/rfc5321#section-4.5.2) to outgoing messages even when these messages do not use CRLF as line terminators, which prevents the exploitation of SMTP smuggling vulnerabilities in other servers.

### MECSA Compliance

In our ongoing efforts to enhance email security, we are proud to announce that [Stalwart Mail Server](https://github.com/stalwartlabs/mail-server) `0.5.1` is now compliant with the [My Email Communications Security Assessment](https://mecsa.jrc.ec.europa.eu/en/about) (MECSA) set by the European Union. MECSA compliance signifies a robust level of security in email communication, and one of the key features in achieving this compliance is the implementation of SMTP sender validation for authenticated users.

SMTP sender validation ensures that authenticated users can only issue `MAIL FROM` commands that match their login name or any of the email addresses associated with their accounts. Previously, implementing this level of validation required the creation of a Sieve script. However, with our latest update, this functionality is now a straightforward boolean entry in the system settings, defaulting to true for maximum security.

### Conclusion

In summary, [Stalwart Mail Server](https://github.com/stalwartlabs/mail-server)'s architecture and its strict adherence to SMTP protocol specifications inherently protect it against SMTP smuggling attacks. Furthermore, our commitment to the security of the email infrastructure extends beyond our server. The new feature to sanitize outgoing messages and our MECSA compliance demonstrate our proactive approach to safeguarding against vulnerabilities and contributing to a more secure email environment

Stay up to date with the latest in email security and [Stalwart Mail Server](https://github.com/stalwartlabs/mail-server)'s features by following our [blog](https://stalw.art/blog) and updates.