Lookup for vulnerable packages by Package URL.

Purlpkg:gem/net-imap@0
Typegem
Namespace
Namenet-imap
Version0
Qualifiers
Subpath
Is_vulnerabletrue
Next_non_vulnerable_versionnull
Latest_non_vulnerable_versionnull
Affected_by_vulnerabilities
0
url VCID-5zsx-353j-8kax
vulnerability_id VCID-5zsx-353j-8kax
summary
net-imap rubygem vulnerable to possible DoS by memory exhaustion
### Summary

There is a possibility for denial of service by memory exhaustion when `net-imap` reads server responses.  At any time while the client is connected, a malicious server can send can send a "literal" byte count, which is automatically read by the client's receiver thread.  The response reader immediately allocates memory for the number of bytes indicated by the server response.

This should not be an issue when securely connecting to trusted IMAP servers that are well-behaved.  It can affect insecure connections and buggy, untrusted, or compromised servers (for example, connecting to a user supplied hostname).

### Details

The IMAP protocol allows "literal" strings to be sent in responses, prefixed with their size in curly braces (e.g. `{1234567890}\r\n`).  When `Net::IMAP` receives a response containing a literal string, it calls `IO#read` with that size.  When called with a size, `IO#read` immediately allocates memory to buffer the entire string before processing continues.  The server does not need to send any more data.  There is no limit on the size of literals that will be accepted.

### Fix
#### Upgrade
Users should upgrade to `net-imap` 0.5.7 or later.  A configurable `max_response_size` limit has been added to `Net::IMAP`'s response reader.  The `max_response_size` limit has also been backported to `net-imap` 0.2.5, 0.3.9, and 0.4.20.

To set a global value for `max_response_size`, users must upgrade to `net-imap` ~> 0.4.20, or > 0.5.7.

#### Configuration

To avoid backward compatibility issues for secure connections to trusted well-behaved servers, the default `max_response_size` for `net-imap` 0.5.7 is _very high_ (512MiB), and the default `max_response_size` for `net-imap` ~> 0.4.20, ~> 0.3.9, and 0.2.5 is `nil` (unlimited).

When connecting to untrusted servers or using insecure connections, a much lower `max_response_size` should be used.
```ruby
# Set the global max_response_size (only ~> v0.4.20, > 0.5.7)
Net::IMAP.config.max_response_size = 256 << 10 # 256 KiB

# Set when creating the connection
imap = Net::IMAP.new(hostname, ssl: true,
                     max_response_size: 16 << 10) # 16 KiB

# Set after creating the connection
imap.max_response_size = 256 << 20 # 256 KiB
# flush currently waiting read, to ensure the new setting is loaded
imap.noop
```

_**Please Note:**_ `max_response_size` only limits the size _per response_.  It does not prevent a flood of individual responses and it does not limit how many unhandled responses may be stored on the responses hash.  Users are responsible for adding response handlers to prune excessive unhandled responses.

#### Compatibility with lower `max_response_size`

A lower `max_response_size` may cause a few commands which legitimately return very large responses to raise an exception and close the connection.  The `max_response_size` could be temporarily set to a higher value, but paginated or limited versions of commands should be used whenever possible.  For example, to fetch message bodies:

```ruby
imap.max_response_size = 256 << 20 # 256 KiB
imap.noop # flush currently waiting read

# fetch a message in 252KiB chunks
size = imap.uid_fetch(uid, "RFC822.SIZE").first.rfc822_size
limit = 252 << 10
message = ((0..size) % limit).each_with_object("") {|offset, str|
  str << imap.uid_fetch(uid, "BODY.PEEK[]<#{offset}.#{limit}>").first.message(offset:)
}

imap.max_response_size = 16 << 20 # 16 KiB
imap.noop # flush currently waiting read
```

### References

* PR to introduce max_response_size: https://github.com/ruby/net-imap/pull/444
  * Specific commit: [0ae8576c1 - lib/net/imap/response_reader.rb](https://github.com/ruby/net-imap/pull/444/commits/0ae8576c1a90bcd9573f81bdad4b4b824642d105#diff-53721cb4d9c3fb86b95cc8476ca2df90968ad8c481645220c607034399151462)
* Backport to 0.4: https://github.com/ruby/net-imap/pull/445
* Backport to 0.3: https://github.com/ruby/net-imap/pull/446
* Backport to 0.2: https://github.com/ruby/net-imap/pull/447
references
0
reference_url https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2025-43857.json
reference_id
reference_type
scores
0
value 6.5
scoring_system cvssv3
scoring_elements CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
url https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2025-43857.json
1
reference_url https://api.first.org/data/v1/epss?cve=CVE-2025-43857
reference_id
reference_type
scores
0
value 0.00528
scoring_system epss
scoring_elements 0.67198
published_at 2026-04-29T12:55:00Z
1
value 0.00528
scoring_system epss
scoring_elements 0.67186
published_at 2026-04-24T12:55:00Z
2
value 0.00528
scoring_system epss
scoring_elements 0.67166
published_at 2026-04-21T12:55:00Z
3
value 0.00528
scoring_system epss
scoring_elements 0.67126
published_at 2026-04-04T12:55:00Z
4
value 0.00528
scoring_system epss
scoring_elements 0.67101
published_at 2026-04-07T12:55:00Z
5
value 0.00528
scoring_system epss
scoring_elements 0.6715
published_at 2026-04-08T12:55:00Z
6
value 0.00528
scoring_system epss
scoring_elements 0.67102
published_at 2026-04-02T12:55:00Z
7
value 0.00528
scoring_system epss
scoring_elements 0.67137
published_at 2026-04-13T12:55:00Z
8
value 0.00528
scoring_system epss
scoring_elements 0.67168
published_at 2026-04-12T12:55:00Z
9
value 0.00528
scoring_system epss
scoring_elements 0.67163
published_at 2026-04-09T12:55:00Z
10
value 0.00528
scoring_system epss
scoring_elements 0.67182
published_at 2026-04-11T12:55:00Z
11
value 0.00528
scoring_system epss
scoring_elements 0.67185
published_at 2026-04-18T12:55:00Z
12
value 0.00528
scoring_system epss
scoring_elements 0.67171
published_at 2026-04-16T12:55:00Z
url https://api.first.org/data/v1/epss?cve=CVE-2025-43857
2
reference_url https://ftp.suse.com/pub/projects/security/yaml/suse-cvss-scores.yaml
reference_id
reference_type
scores
0
value 3.1
scoring_system cvssv3.1
scoring_elements CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:L
url https://ftp.suse.com/pub/projects/security/yaml/suse-cvss-scores.yaml
3
reference_url https://github.com/ruby/net-imap
reference_id
reference_type
scores
0
value 6.0
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
1
value MODERATE
scoring_system generic_textual
scoring_elements
url https://github.com/ruby/net-imap
4
reference_url https://github.com/ruby/net-imap/pull/442
reference_id
reference_type
scores
0
value 6
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
1
value 6.0
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
2
value MODERATE
scoring_system generic_textual
scoring_elements
3
value Track
scoring_system ssvc
scoring_elements SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2025-04-28T17:59:30Z/
url https://github.com/ruby/net-imap/pull/442
5
reference_url https://github.com/ruby/net-imap/pull/444
reference_id
reference_type
scores
0
value 6.0
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
1
value MODERATE
scoring_system generic_textual
scoring_elements
url https://github.com/ruby/net-imap/pull/444
6
reference_url https://github.com/ruby/net-imap/pull/444/commits/0ae8576c1a90bcd9573f81bdad4b4b824642d105#diff-53721cb4d9c3fb86b95cc8476ca2df90968ad8c481645220c607034399151462
reference_id
reference_type
scores
0
value 6
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
1
value 6.0
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
2
value MODERATE
scoring_system generic_textual
scoring_elements
3
value Track
scoring_system ssvc
scoring_elements SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2025-04-28T17:59:30Z/
url https://github.com/ruby/net-imap/pull/444/commits/0ae8576c1a90bcd9573f81bdad4b4b824642d105#diff-53721cb4d9c3fb86b95cc8476ca2df90968ad8c481645220c607034399151462
7
reference_url https://github.com/ruby/net-imap/pull/445
reference_id
reference_type
scores
0
value 6
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
1
value 6.0
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
2
value MODERATE
scoring_system generic_textual
scoring_elements
3
value Track
scoring_system ssvc
scoring_elements SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2025-04-28T17:59:30Z/
url https://github.com/ruby/net-imap/pull/445
8
reference_url https://github.com/ruby/net-imap/pull/446
reference_id
reference_type
scores
0
value 6
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
1
value 6.0
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
2
value MODERATE
scoring_system generic_textual
scoring_elements
3
value Track
scoring_system ssvc
scoring_elements SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2025-04-28T17:59:30Z/
url https://github.com/ruby/net-imap/pull/446
9
reference_url https://github.com/ruby/net-imap/pull/447
reference_id
reference_type
scores
0
value 6
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
1
value 6.0
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
2
value MODERATE
scoring_system generic_textual
scoring_elements
3
value Track
scoring_system ssvc
scoring_elements SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2025-04-28T17:59:30Z/
url https://github.com/ruby/net-imap/pull/447
10
reference_url https://github.com/ruby/net-imap/security/advisories/GHSA-j3g3-5qv5-52mj
reference_id
reference_type
scores
0
value MODERATE
scoring_system cvssv3.1_qr
scoring_elements
1
value 6
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
2
value 6.0
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
3
value MODERATE
scoring_system generic_textual
scoring_elements
4
value Track
scoring_system ssvc
scoring_elements SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2025-04-28T17:59:30Z/
url https://github.com/ruby/net-imap/security/advisories/GHSA-j3g3-5qv5-52mj
11
reference_url https://github.com/rubysec/ruby-advisory-db/blob/master/gems/net-imap/CVE-2025-43857.yml
reference_id
reference_type
scores
0
value 6.0
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
1
value MODERATE
scoring_system generic_textual
scoring_elements
url https://github.com/rubysec/ruby-advisory-db/blob/master/gems/net-imap/CVE-2025-43857.yml
12
reference_url https://nvd.nist.gov/vuln/detail/CVE-2025-43857
reference_id
reference_type
scores
0
value 6.0
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
1
value MODERATE
scoring_system generic_textual
scoring_elements
url https://nvd.nist.gov/vuln/detail/CVE-2025-43857
13
reference_url https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1104486
reference_id 1104486
reference_type
scores
url https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1104486
14
reference_url https://bugzilla.redhat.com/show_bug.cgi?id=2362749
reference_id 2362749
reference_type
scores
url https://bugzilla.redhat.com/show_bug.cgi?id=2362749
15
reference_url https://github.com/advisories/GHSA-j3g3-5qv5-52mj
reference_id GHSA-j3g3-5qv5-52mj
reference_type
scores
0
value MODERATE
scoring_system cvssv3.1_qr
scoring_elements
url https://github.com/advisories/GHSA-j3g3-5qv5-52mj
fixed_packages
0
url pkg:gem/net-imap@0.2.5
purl pkg:gem/net-imap@0.2.5
is_vulnerable true
affected_by_vulnerabilities
0
vulnerability VCID-5zsx-353j-8kax
resource_url http://public2.vulnerablecode.io/packages/pkg:gem/net-imap@0.2.5
1
url pkg:gem/net-imap@0.3.9
purl pkg:gem/net-imap@0.3.9
is_vulnerable true
affected_by_vulnerabilities
0
vulnerability VCID-5zsx-353j-8kax
resource_url http://public2.vulnerablecode.io/packages/pkg:gem/net-imap@0.3.9
2
url pkg:gem/net-imap@0.4.20
purl pkg:gem/net-imap@0.4.20
is_vulnerable true
affected_by_vulnerabilities
0
vulnerability VCID-5zsx-353j-8kax
resource_url http://public2.vulnerablecode.io/packages/pkg:gem/net-imap@0.4.20
3
url pkg:gem/net-imap@0.5.7
purl pkg:gem/net-imap@0.5.7
is_vulnerable true
affected_by_vulnerabilities
0
vulnerability VCID-5zsx-353j-8kax
resource_url http://public2.vulnerablecode.io/packages/pkg:gem/net-imap@0.5.7
aliases CVE-2025-43857, GHSA-j3g3-5qv5-52mj
risk_score 3.1
exploitability 0.5
weighted_severity 6.2
resource_url http://public2.vulnerablecode.io/vulnerabilities/VCID-5zsx-353j-8kax
Fixing_vulnerabilities
Risk_score3.1
Resource_urlhttp://public2.vulnerablecode.io/packages/pkg:gem/net-imap@0