CVE-2026-92103: Mint HTTP/2 client buffers oversized frames up to 16 MiB before enforcing max_frame_size

Published Sep 28, 2026
·
Updated

Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint mint allows a malicious HTTP/2 server to make the client hold up to about 16 MiB per connection in frames it should reject, consuming client memory.

Mint.HTTP2.Frame.decodenext/2 in lib/mint/http2/frame.ex compares a frame with the client's maxframesize (16,384 bytes by default) only once the whole declared payload has arrived. Until then it returns :more, and Mint.HTTP2 keeps every received byte in the connection buffer. A server can declare a frame length of up to 16,777,215 bytes and withhold the last byte, keeping roughly 1,024 times the advertised limit buffered for as long as the connection stays open. The server has to send every byte the client buffers, so there is no amplification, and the buffer stops at the 24-bit frame length limit.

This issue affects mint: from 0.1.0 before 1.11.0.

Affected Software

1 affected component
hex/mint>=0.1.0<1.11.0

Event History

Sep 28, 2026
CVE Published
via MITRE·11:15 AM
Data Sourced
via MITRE·11:15 AM
DescriptionWeakness
Data Sourced
via NVD·12:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are realistically exposed?

Deployments using affected Mint versions as an HTTP/2 client are exposed when they connect to a malicious or compromised HTTP/2 server. The server can retain roughly 16 MiB of memory per open client connection by declaring a large frame and withholding its final byte.

2

What does an attacker need to do to trigger the memory consumption?

The attacker must control the HTTP/2 server endpoint and send a frame with a declared payload length up to 16,777,215 bytes, delivering all but the last byte. This is not an amplification issue: the server must transmit every byte retained in the client buffer.

3

Is the default frame-size configuration affected?

Yes. The default client max_frame_size is 16,384 bytes, but the affected decoding behavior does not reject an oversized frame until its declared payload has fully arrived. As a result, a connection can buffer about 1,024 times the advertised default limit.

4

How can the issue be remediated?

Upgrade mint to version 1.11.0 or later. Versions from 0.1.0 before 1.11.0 are affected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203