<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Mail - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/mail/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 28 Jul 2026 14:31:43 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/mail/feed.xml" rel="self" type="application/rss+xml"/><item><title>Lettré Library TLS Hostname Verification Bypass Vulnerability (CVE-2026-46428)</title><link>https://feed.craftedsignal.io/briefs/2026-07-lettre-tls-hostname-verification-bypass/</link><pubDate>Tue, 28 Jul 2026 14:31:43 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-lettre-tls-hostname-verification-bypass/</guid><description>An inverted-boolean bug (CVE-2026-46428) in the `lettre` library's `boring-tls` integration silently disables TLS hostname verification for callers using the default strict configuration, allowing an on-path attacker with any chain-valid certificate to intercept SMTP submission, including credentials and message contents, from affected `lettre` clients.</description><content:encoded><![CDATA[<p>A critical vulnerability, tracked as CVE-2026-46428, exists in the <code>lettre</code> Rust library when compiled with the <code>boring-tls</code> feature. This flaw, present in versions 0.10.1 through 0.11.21, stems from an inverted boolean logic error in the <code>TlsParametersBuilder</code>'s <code>accept_invalid_hostnames</code> flag. Contrary to its intended behavior, the default strict configuration (where <code>accept_invalid_hostnames</code> is <code>false</code>) causes the underlying <code>boring</code> TLS backend to <em>skip</em> hostname verification. This creates a severe Man-in-the-Middle (MITM) vulnerability, enabling attackers on the network path to intercept and decrypt SMTP traffic, including authentication credentials and message bodies, by presenting any chain-valid TLS certificate. The bug was introduced in PR #797, commit 985fa7e, and persists across affected versions, bypassing the security expectations of users who believe they have configured strict TLS verification.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker positions themselves on the network path between a <code>lettre</code> client (built with <code>boring-tls</code> and using default-strict TLS settings) and its intended SMTP server.</li>
<li>The attacker obtains a chain-valid TLS certificate for a domain they control (e.g., via Let's Encrypt for <code>attacker.example</code>).</li>
<li>The vulnerable <code>lettre</code> client initiates an SMTP connection to its target mail exchanger (e.g., <code>mail.example.com</code>), configured to use TLS.</li>
<li>The attacker's intermediate SMTP server intercepts the connection and presents its certificate (e.g., for <code>attacker.example</code>) during the TLS handshake.</li>
<li>Due to the inverted boolean logic in <code>lettre</code>'s <code>boring-tls</code> integration, the <code>set_verify_hostname(false)</code> call is made to the <code>boring</code> backend, despite the <code>lettre</code> client being configured for strict hostname verification (<code>accept_invalid_hostnames = false</code>).</li>
<li>The <code>boring</code> TLS backend, having been instructed to skip hostname verification, successfully completes the TLS handshake with the attacker's certificate, ignoring the mismatch with <code>mail.example.com</code>.</li>
<li>The <code>lettre</code> client proceeds with the SMTP transaction, sending sensitive data such as <code>MAIL FROM</code>, <code>RCPT TO</code>, message bodies, attachments, headers, and any SMTP AUTH credentials (e.g., PLAIN, LOGIN) to the attacker.</li>
<li>The attacker gains full read access to confidential communications and credentials, and can potentially manipulate messages before forwarding or dropping them.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability severely impacts any <code>lettre</code> user deploying applications that utilize the <code>boring-tls</code> feature and rely on the default-strict hostname verification settings. Such users are unknowingly susceptible to Man-in-the-Middle attacks, allowing an on-path attacker to intercept all SMTP communications. This includes exposure of sensitive email content, attachments, and crucially, SMTP authentication credentials (PLAIN, LOGIN, CRAM-MD5, etc.). The confidentiality and integrity of email submissions are compromised, leading to potential data breaches, unauthorized access to email accounts, and impersonation. While Cloudflare independently identified and mitigated this downstream, the core vulnerability remains in affected <code>lettre</code> versions, requiring an upstream fix to protect all other deployments.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Patch CVE-2026-46428 by updating the <code>lettre</code> library to version 0.11.22 or newer, which includes the fix.</li>
<li>If immediate patching is not possible, avoid using the <code>boring-tls</code> feature with <code>lettre</code> in environments where SMTP traffic is sensitive and subject to MITM risks. Consider switching to <code>native-tls</code> or <code>rustls</code> backends if feasible, as they are unaffected by this specific bug.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>tls</category><category>mitm</category><category>library-vulnerability</category><category>rust</category><category>mail</category></item></channel></rss>