Skip to content

Update Rust crate bytes to v1.11.1 [SECURITY]#135

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/crate-bytes-vulnerability
Open

Update Rust crate bytes to v1.11.1 [SECURITY]#135
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/crate-bytes-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Feb 3, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
bytes dependencies patch 1.11.01.11.1

bytes has integer overflow in BytesMut::reserve

CVE-2026-25541 / GHSA-434x-w66g-qw3r

More information

Details

Details

In the unique reclaim path of BytesMut::reserve, the condition

if 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.

PoC
use bytes::*;

fn main() {
    let mut a = BytesMut::from(&b"hello world"[..]);
    let mut b = a.split_off(5);

    // Ensure b becomes the unique owner of the backing storage
    drop(a);

    // Trigger overflow in new_cap + offset inside reserve
    b.reserve(usize::MAX - 6);

    // This call relies on the corrupted cap and may cause UB & HBO
    b.put_u8(b'h');
}
Workarounds

Users of BytesMut::reserve are only affected if integer overflow checks are configured to wrap. When integer overflow is configured to panic, this issue does not apply.

This vulnerability is also known as RUSTSEC-2026-0007.

Severity

  • CVSS Score: 5.5 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:P

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

tokio-rs/bytes (bytes)

v1.11.1

Compare Source

  • Fix integer overflow in BytesMut::reserve

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot changed the title Update Rust crate bytes to v1.11.1 [SECURITY] Update Rust crate bytes to v1.11.1 [SECURITY] - autoclosed Mar 27, 2026
@renovate renovate Bot closed this Mar 27, 2026
@renovate
renovate Bot deleted the renovate/crate-bytes-vulnerability branch March 27, 2026 01:01
@renovate renovate Bot changed the title Update Rust crate bytes to v1.11.1 [SECURITY] - autoclosed Update Rust crate bytes to v1.11.1 [SECURITY] Mar 30, 2026
@renovate renovate Bot reopened this Mar 30, 2026
@renovate
renovate Bot force-pushed the renovate/crate-bytes-vulnerability branch 2 times, most recently from 00d4805 to 69a925e Compare March 30, 2026 22:27
@renovate renovate Bot changed the title Update Rust crate bytes to v1.11.1 [SECURITY] Update Rust crate bytes to v1.11.1 [SECURITY] - autoclosed Apr 27, 2026
@renovate renovate Bot closed this Apr 27, 2026
@renovate renovate Bot changed the title Update Rust crate bytes to v1.11.1 [SECURITY] - autoclosed Update Rust crate bytes to v1.11.1 [SECURITY] Apr 27, 2026
@renovate renovate Bot reopened this Apr 27, 2026
@renovate
renovate Bot force-pushed the renovate/crate-bytes-vulnerability branch 2 times, most recently from 69a925e to b30729e Compare April 27, 2026 22:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants