Medium severity5.4NVD Advisory· Published May 18, 2024· Updated Apr 15, 2026
CVE-2024-34083
CVE-2024-34083
Description
aiosmptd is a reimplementation of the Python stdlib smtpd.py based on asyncio. Prior to version 1.4.6, servers based on aiosmtpd accept extra unencrypted commands after STARTTLS, treating them as if they came from inside the encrypted connection. This could be exploited by a man-in-the-middle attack. Version 1.4.6 contains a patch for the issue.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
aiosmtpdPyPI | < 1.4.6 | 1.4.6 |
Patches
1b3a4a2c6ecfdstarttls: Clear unencrypted commands from buffer (#380)
2 files changed · +7 −0
aiosmtpd/docs/NEWS.rst+4 −0 modified@@ -4,6 +4,10 @@ .. towncrier release notes start +1.4.6 (2024-05-06) +================== + +* STARTTLS is now fully enforced if used. 1.4.5 (2024-03-02) ==================
aiosmtpd/smtp.py+3 −0 modified@@ -504,6 +504,9 @@ def connection_made(self, transport: asyncio.BaseTransport) -> None: self._reader._transport = transport # type: ignore[attr-defined] self._writer._transport = transport # type: ignore[attr-defined] self.transport = transport + # Discard any leftover unencrypted data + # See https://tools.ietf.org/html/rfc3207#page-7 + self._reader._buffer.clear() # type: ignore[attr-defined] # Do SSL certificate checking as rfc3207 part 4.1 says. Why is # _extra a protected attribute? assert self._tls_protocol is not None
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
5News mentions
0No linked articles in our index yet.