Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft GPG-encrypted message
-
DeliverySend to mutt user
-
ExploitUser opens/processes message
-
ExecutionGPGME returns anomalous read result
-
PersistInfinite loop in data_object_to_stream
-
ImpactCPU exhaustion and DoS
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V16 - Security Logging and Error Handling Incorrect check of return value
|
| Exploitation Conditions | The vulnerability requires processing of GPG-encrypted messages by mutt with GPGME support enabled (default configuration). Specifically, the data_object_to_stream function must be invoked during encryption/decryption workflows, which occurs when mutt interacts with encrypted message content. The exploitation depends on GPGME library behavior returning zero or a negative value (error condition) from gpgme_data_read() while processing malformed or crafted encrypted data-not a typical condition in normal operation. No authentication is required if the attacker can send a message to the targeted user or control a message in a shared folder. The high CVSS complexity (AC:H) reflects the difficulty in reliably triggering the root condition; it is not trivial to craft input that causes gpgme_data_read() to behave unexpectedly without control over the GPGME library's internal state. |
| Impact | Despite the high CVSS score of 3.7, real-world risk is LOW to MODERATE. CVSS vector components show attack vector network (AV:N) but high complexity (AC:H), no privileges required (PR:N), and impact limited to availability (A:L) with no confidentiality or integrity loss. The high complexity requirement indicates non-trivial reproduction conditions; the attack vector being remote but availability-only means this is a resource exhaustion DoS rather than remote code execution. No exploitation data is available-no CISA KEV listing, no public POC code identified, and no reports of active exploitation. The vulnerability requires specific interaction with GPG-encrypted messages and depends on GPGME library behavior, both limiting attack surface. However, any authenticated user capable of sending or processing GPG-encrypted messages could potentially trigger this remotely, making it a concern for mail servers and multi-user systems. The upstream fix is trivial (a single boolean comparison change), lowering remediation friction. Organizations should prioritize patching based on email threat model rather than raw CVSS. |
| Exploit ScenarioDerived | An attacker sends a specially crafted GPG-encrypted email message to a mutt user where the GPGME library returns an unexpected condition (zero or negative value) from gpgme_data_read() during decryption. When the user attempts to view or process the message, mutt enters an infinite loop in data_object_to_stream, consuming CPU and potentially memory until the process is manually killed, causing local denial of service to that user's mail session. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 04, 2026
Mutt before version 2.3.2 contains an infinite loop in the data_object_to_stream function within crypt-gpgme.c that can be triggered during GPG encryption operations, leading to denial of service. The vulnerability affects remote attackers under high-complexity conditions (requiring specific GPG-encrypted message handling), and is publicly documented via a GitHub commit but has no active exploitation confirmed. The fix changes the loop condition from checking non-zero read results to explicitly checking for positive read values (> 0), preventing infinite iteration when gpgme_data_read returns zero or negative values.
RemediationAI
Upgrade mutt to version 2.3.2 or later, which includes the fix to the loop condition in data_object_to_stream(). The patch is minimal and available in the upstream repository commit fdc04a171777327218a1e78db504926c388b48c4. Most distributions will release patched packages; verify availability via your package manager or download from the Mutt project (https://github.com/muttmua/mutt/releases). As a temporary workaround pending patching, administrators can disable GPG/GPGME support in mutt's configuration by setting appropriate crypt options, though this eliminates encryption functionality. Alternatively, restrict message processing to trusted sources or implement resource limits (timeout/memory) at the mail client process level to mitigate DoS impact if the vulnerability is triggered. The trivial nature of the fix makes delay inadvisable.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Mutt is an email client that uses the GPGME (GnuPG Made Easy) library for OpenPGP cryptographic operations. The vulnerable code path is in crypt-gpgme.c, the function responsible for converting GPGME data objects to output streams during encryption/decryption workflows. The root cause is CWE-253 (Incorrect Check of Function Return Value), where the code fails to properly validate the return value of gpgme_data_read(). The original while loop condition (while ((nread = gpgme_data_read(data, buf, sizeof (buf))))) treats any non-zero value-including error returns or zero-length reads-as continuation, causing the loop to never terminate if gpgme_data_read returns 0 or a negative error code. The fix explicitly checks for positive values (> 0), ensuring the loop only continues when data is actually read.
Know when Mutt gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
3DescriptionCVE.org
mutt before 2.3.2 has an infinite loop in data_object_to_stream in crypt-gpgme.c.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
An issue was discovered in Mutt before 1.10.1 and NeoMutt before 2018-07-16. Rated critical severity (CVSS 9.8), this vu
An issue was discovered in Mutt before 1.10.1 and NeoMutt before 2018-07-16. Rated critical severity (CVSS 9.8), this vu
An issue was discovered in Mutt before 1.10.1 and NeoMutt before 2018-07-16. Rated critical severity (CVSS 9.8), this vu
An issue was discovered in Mutt before 1.10.1 and NeoMutt before 2018-07-16. Rated critical severity (CVSS 9.8), this vu
An issue was discovered in Mutt before 1.10.1 and NeoMutt before 2018-07-16. Rated critical severity (CVSS 9.8), this vu
An issue was discovered in Mutt before 1.10.1 and NeoMutt before 2018-07-16. Rated critical severity (CVSS 9.8), this vu
An issue was discovered in Mutt before 1.10.1 and NeoMutt before 2018-07-16. Rated critical severity (CVSS 9.8), this vu
An issue was discovered in Mutt before 1.10.1 and NeoMutt before 2018-07-16. Rated critical severity (CVSS 9.8), this vu
An issue was discovered in Mutt before 1.10.1 and NeoMutt before 2018-07-16. Rated critical severity (CVSS 9.8), this vu
An issue was discovered in Mutt before 1.10.1 and NeoMutt before 2018-07-16. Rated critical severity (CVSS 9.8), this vu
An issue was discovered in Mutt before 1.10.1 and NeoMutt before 2018-07-16. Rated critical severity (CVSS 9.8), this vu
The write_one_header function in mutt 1.5.23 does not properly handle newline characters at the beginning of a header, w
EUVD-2026-26902
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB