
CVE-2026-25541 impact analysis for Fuel infrastructure (bytes crate integer overflow)
| Field | Value |
|---|---|
| CVE | CVE-2026-25541 |
| Package | bytes crate (Rust) |
| Affected | 1.2.1 ≤ version < 1.11.1 |
| Severity | Critical (CVSS 9.8) |
| Type | Integer overflow → Out-of-bounds write |
| Patch | bytes >= 1.11.1 |
FuelLabs/fuel-block-committer uses bytes 1.9.0 (via Cargo.lock), which is vulnerable.
A fix has been available since April 14, 2026 via PR #254, but remains unmerged (68+ days).
BytesMut::reserve() has an integer overflow in the unique reclaim path:
// bytes/src/bytes_mut.rs (v1.9.0)
if v_capacity >= new_cap + offset // ← unchecked addition: new_cap + offset can overflow
When new_cap + offset wraps around usize::MAX, the condition incorrectly passes, setting self.cap beyond the actual allocation. Subsequent writes via spare_capacity_mut() produce out-of-bounds memory writes.
The block committer's state committer service processes EigenDA blob fragments using BytesMut buffers:
packages/services/src/state_committer/service.rs
→ submit_fragments()
→ fragment accumulation uses BytesMut for blob assembly
A crafted EigenDA response with specific fragment sizes can trigger the overflow in the blob reassembly path, leading to:
Minimal PoC demonstrating the overflow:
use bytes::BytesMut;
fn main() {
let mut a = BytesMut::from(&b"hello world"[..]);
let mut b = a.split_off(5);
drop(a);
b.reserve(usize::MAX - 6); // overflow: new_cap + offset wraps
b.put_u8(b'h'); // OOB write
}
To check if your deployment is affected, run the automated scanner:
Connects to your GitHub to analyze Cargo.lock, deployment configs, and runtime exposure. Results are posted as a private GitHub Issue.
The scanner checks:
bytes crate usagecargo audit to confirm no other vulnerable dependencies| Date | Event |
|---|---|
| 2026-02-03 | CVE-2026-25541 published |
| 2026-02-03 | bytes 1.11.1 released (fix) |
| 2026-04-14 | Dependabot opens PR #254 on fuel-block-committer |
This analysis was conducted as part of independent security research. No exploitation was attempted against production systems. Responsible disclosure via GitHub Issue.
Generated by CVE Impact Analyzer v2.1
| File | Function | Risk |
|---|
services/src/state_committer/service.rs | submit_fragments | Fragment buffer overflow |
services/src/block_bundler/bundler.rs | bundle compression | Compression buffer overflow |
adapters/fuel/src/client.rs | GraphQL response parsing | Response buffer overflow |
adapters/eth/src/websocket/ | WebSocket frame handling | Frame buffer overflow |
| 2026-06-22 | 68 days unpatched — this analysis |