UBUNTU-CVE-2026-116078: High severity ubuntu/bandit vulnerability

Published Oct 29, 2026
·
Updated

Allocation of Resources Without Limits or Throttling vulnerability in the HTTP/2 request body reader of mtrudel bandit allows an unauthenticated remote attacker to exhaust server memory via a request body sent as many 1-byte DATA frames. doreaddata/5 in lib/bandit/http2/stream.ex keeps every DATA frame payload as its own list element until the read returns. The :length option of readbody/2 counts body bytes, not frames, so a body of 1-byte frames costs a list cell and a binary term per byte. Interleaving the frames across up to 500 concurrent streams per connection keeps each stream consuming its frames as they arrive; in the reporter's test, 100 streams held 25 to 40 MiB of stream process memory for 5 MB sent. Only routes whose Plug reads the request body are affected, which includes any route behind Plug.Parsers. This issue affects bandit: from 0.3.1 before 1.14.1.

Affected Software

7 affected components
ubuntu/bandit*
ubuntu/bandit*
ubuntu/bandit*
ubuntu/bandit*
ubuntu/bandit*
ubuntu/bandit*
ubuntu/bandit*

Frequently Asked Questions

1

Which applications are exposed to this issue?

Only HTTP/2 routes that read the request body are affected. This includes routes using Plug.Parsers, so applications behind Plug.Parsers should be considered exposed when they accept HTTP/2 requests.

2

What does an attacker need to do to exploit it?

An unauthenticated remote attacker must send an HTTP/2 request body split into many 1-byte DATA frames. They can interleave frames across up to 500 concurrent streams on a connection to keep stream memory consumption high.

3

Are default body-size limits sufficient protection?

Not necessarily. The read_body/2 :length option counts body bytes rather than the number of DATA frames, so a request body within the configured byte limit can still consume disproportionate memory when delivered as 1-byte frames.

4

How can I determine whether the deployed Bandit version is affected?

Bandit versions from 0.3.1 up to, but not including, 1.14.1 are affected. Version 1.14.1 is outside the stated affected range.

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