CVE-2026-25541
Unknown Unknown - Not Provided
Integer Overflow in BytesMut::reserve Causes Out-of-Bounds Access

Publication date: 2026-02-04

Last updated on: 2026-02-27

Assigner: GitHub, Inc.

Description
Bytes is a utility library for working with bytes. From version 1.2.1 to before 1.11.1, Bytes is vulnerable to integer overflow in BytesMut::reserve. In the unique reclaim path of BytesMut::reserve, if the condition "v_capacity >= new_cap + offset" uses an unchecked addition. When new_cap + offset overflows usize in release builds, this condition may incorrectly pass, causing self.cap to be set to a value that exceeds the actual allocated capacity. Subsequent APIs such as spare_capacity_mut() then trust this corrupted cap value and may create out-of-bounds slices, leading to UB. This behavior is observable in release builds (integer overflow wraps), whereas debug builds panic due to overflow checks. This issue has been patched in version 1.11.1.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-02-04
Last Modified
2026-02-27
Generated
2026-05-07
AI Q&A
2026-02-05
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
tokio-rs bytes From 1.2.1 (inc) to 1.11.1 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-680 The product performs a calculation to determine how much memory to allocate, but an integer overflow can occur that causes less memory to be allocated than expected, leading to a buffer overflow.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in the Bytes utility library versions from 1.2.1 up to but not including 1.11.1. It involves an integer overflow in the BytesMut::reserve function. Specifically, in a unique reclaim path, an unchecked addition of new_cap and offset can overflow the usize type in release builds. When this overflow occurs, a condition meant to check capacity incorrectly passes, causing the internal capacity (self.cap) to be set to a value larger than the actual allocated memory.

As a result, subsequent API calls like spare_capacity_mut() rely on this corrupted capacity value and may create out-of-bounds slices, leading to undefined behavior (UB). This issue manifests in release builds where integer overflow wraps around, while debug builds detect the overflow and panic. The vulnerability was fixed in version 1.11.1.


How can this vulnerability impact me? :

The vulnerability can lead to undefined behavior due to out-of-bounds memory access caused by corrupted capacity values. This can potentially result in memory corruption, crashes, or other unpredictable behavior in applications using the affected Bytes library versions.

Since the issue arises from integer overflow in release builds, it may be harder to detect during development but can cause serious runtime errors in production environments.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

I don't know


What immediate steps should I take to mitigate this vulnerability?

The vulnerability in Bytes library versions from 1.2.1 to before 1.11.1 has been patched in version 1.11.1.

To mitigate this vulnerability, you should upgrade the Bytes library to version 1.11.1 or later.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart