Net::IMAP implements Internet Message Access Protocol (IMAP) client functionality in Ruby. Prior to versions 0.5.7, 0.4.20, 0.3.9, and 0.2.5, 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). This issue has been patched in versions 0.5.7, 0.4.20, 0.3.9, and 0.2.5.
The product does not properly control the allocation and maintenance of a limited resource.
The product allocates a reusable resource or group of resources on behalf of an actor without imposing any restrictions on the size or number of resources that can be allocated, in violation of the intended security policy for that actor.
Link | Tags |
---|---|
https://github.com/ruby/net-imap/security/advisories/GHSA-j3g3-5qv5-52mj | vendor advisory |
https://github.com/ruby/net-imap/pull/442 | issue tracking patch |
https://github.com/ruby/net-imap/pull/444/commits/0ae8576c1a90bcd9573f81bdad4b4b824642d105#diff-53721cb4d9c3fb86b95cc8476ca2df90968ad8c481645220c607034399151462 | patch |
https://github.com/ruby/net-imap/pull/445 | issue tracking patch |
https://github.com/ruby/net-imap/pull/446 | issue tracking patch |
https://github.com/ruby/net-imap/pull/447 | issue tracking patch |