CVE-2025-25186
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Summary
Net::IMAP implements Internet Message Access Protocol (IMAP) client functionality in Ruby. Starting in version 0.3.2 and prior to versions 0.3.8, 0.4.19, and 0.5.6, there is a possibility for denial of service by memory exhaustion in net-imap's response parser. At any time while the client is connected, a malicious server can send can send highly compressed uid-set data which is automatically read by the client's receiver thread. The response parser uses Range#to_a to convert the uid-set data into arrays of integers, with no limitation on the expanded size of the ranges. Versions 0.3.8, 0.4.19, 0.5.6, and higher fix this issue. Additional details for proper configuration of fixed versions and backward compatibility are available in the GitHub Security Advisory.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| ruby | net-imap | >= 0.3.2, < 0.3.8 | affected |
| ruby | net-imap | >= 0.4.0, < 0.4.19 | affected |
| ruby | net-imap | >= 0.5.0, < 0.5.6 | affected |
Weaknesses
- CWE-400: CWE-400: Uncontrolled Resource Consumption
- CWE-405: CWE-405: Asymmetric Resource Consumption (Amplification)
- CWE-409: CWE-409: Improper Handling of Highly Compressed Data (Data Amplification)
- CWE-770: CWE-770: Allocation of Resources Without Limits or Throttling
- CWE-789: CWE-789: Memory Allocation with Excessive Size Value
- CWE-1287: CWE-1287: Improper Validation of Specified Type of Input
ADP Enrichment
CISA ADP Vulnrichment
- SSVC:
- Exploitation: poc
- Automatable: no
- Technical Impact: partial
References
- https://github.com/ruby/net-imap/security/advisories/GHSA-7fc5-f82f-cx69
- https://github.com/ruby/net-imap/commit/70e3ddd071a94e450b3238570af482c296380b35
- https://github.com/ruby/net-imap/commit/c8c5a643739d2669f0c9a6bb9770d0c045fd74a3
- https://github.com/ruby/net-imap/commit/cb92191b1ddce2d978d01b56a0883b6ecf0b1022
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.