
CVE-2026-25541 Auswirkungsanalyse für die Fuel-Infrastruktur (Integer-Überlauf in der bytes crate)
| Feld | Wert |
|---|
| CVE | CVE-2026-25541 |
| Paket | bytes-Crate (Rust) |
| Betroffen | 1.2.1 ≤ Version < 1.11.1 |
| Schweregrad | Kritisch (CVSS 9.8) |
| Typ | Integer-Überlauf → Schreibzugriff außerhalb des gültigen Bereichs |
| Patch | bytes >= 1.11.1 |
FuelLabs/fuel-block-committer verwendet bytes 1.9.0 (über Cargo.lock), welches verwundbar ist.
Ein Fix ist seit dem 14. April 2026 über PR #254 verfügbar, bleibt aber ungemergt (68+ Tage).
BytesMut::reserve() hat einen Integer-Überlauf im unique reclaim path:
// bytes/src/bytes_mut.rs (v1.9.0)
if v_capacity >= new_cap + offset // ← unchecked addition: new_cap + offset can overflow
Wenn new_cap + offset um usize::MAX herumläuft, wird die Bedingung fälschlicherweise erfüllt, wodurch self.cap jenseits der tatsächlichen Allokation gesetzt wird. Nachfolgende Schreibvorgänge über spare_capacity_mut() erzeugen Speicherschreibzugriffe außerhalb des gültigen Bereichs.
Der State-Committer-Dienst des Block-Committers verarbeitet EigenDA-Blob-Fragmente mit BytesMut-Puffern:
packages/services/src/state_committer/service.rs
→ submit_fragments()
→ fragment accumulation uses BytesMut for blob assembly
Eine präparierte EigenDA-Antwort mit bestimmten Fragmentgrößen kann den Überlauf im Blob-Wiederzusammenstellungspfad auslösen, was zu Folgendem führt:
| Datei | Funktion | Risiko |
|---|---|---|
services/src/state_committer/service.rs | submit_fragments | Fragment-Pufferüberlauf |
services/src/block_bundler/bundler.rs | Bundle-Kompression | Kompressionspufferüberlauf |
adapters/fuel/src/client.rs | GraphQL-Antwortparsing | Antwortpufferüberlauf |
adapters/eth/src/websocket/ | WebSocket-Frame-Verarbeitung | Frame-Pufferüberlauf |
Minimaler PoC, der den Überlauf demonstriert:
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
}
Um zu prüfen, ob Ihre Bereitstellung betroffen ist, führen Sie den automatisierten Scanner aus:
▶ Automatisierten Scan ausführen
Verbindet sich mit Ihrem GitHub, um Cargo.lock, Bereitstellungskonfigurationen und Laufzeitexposition zu analysieren. Ergebnisse werden als privates GitHub-Issue veröffentlicht.
Der Scanner prüft:
bytes-Crate-Nutzungcargo audit ausführen, um zu bestätigen, dass keine anderen verwundbaren Abhängigkeiten vorhanden sind| Datum | Ereignis |
|---|---|
| 2026-02-03 | CVE-2026-25541 veröffentlicht |
| 2026-02-03 | bytes 1.11.1 veröffentlicht (Fix) |
| 2026-04-14 | Dependabot öffnet PR #254 auf fuel-block-committer |
| 2026-06-22 | 68 Tage ungepatcht — diese Analyse |
Diese Analyse wurde im Rahmen unabhängiger Sicherheitsforschung durchgeführt. Es wurde kein Ausnutzungsversuch gegen Produktionssysteme unternommen. Verantwortungsvolle Offenlegung über ein GitHub-Issue.
Generiert von CVE Impact Analyzer v2.1