
Анализ влияния CVE-2026-25541 на инфраструктуру Fuel (целочисленное переполнение в crate bytes)
| Поле | Значение |
|---|---|
| CVE | CVE-2026-25541 |
| Пакет | bytes crate (Rust) |
| Затрагивает | 1.2.1 ≤ версия < 1.11.1 |
| Серьезность | Критический (CVSS 9.8) |
| Тип | Целочисленное переполнение → Запись за границы |
| Исправление | bytes >= 1.11.1 |
Репозиторий FuelLabs/fuel-block-committer использует bytes 1.9.0 (через Cargo.lock), что является уязвимым.
Исправление доступно с 14 апреля 2026 года через PR #254, но до сих пор не слито (68+ дней).
BytesMut::reserve() имеет целочисленное переполнение в пути уникального перераспределения:
// bytes/src/bytes_mut.rs (v1.9.0)
if v_capacity >= new_cap + offset // ← unchecked addition: new_cap + offset can overflow
Когда new_cap + offset оборачивается вокруг usize::MAX, условие ошибочно проходит, устанавливая self.cap за пределами фактического выделения. Последующие записи через spare_capacity_mut() приводят к записи за границы памяти.
Служба коммитера состояния блокчейн-коммитера обрабатывает фрагменты больших двоичных объектов EigenDA с помощью буферов BytesMut:
packages/services/src/state_committer/service.rs
→ submit_fragments()
→ fragment accumulation uses BytesMut for blob assembly
Вредоносный ответ EigenDA с определенными размерами фрагментов может вызвать переполнение в пути сборки больших двоичных объектов, что приведет к:
Минимальное PoC, демонстрирующее переполнение:
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
}
Чтобы проверить, затронуто ли ваше развертывание, запустите автоматический сканер:
▶ Запустить автоматическое сканирование
Подключается к вашему GitHub для анализа Cargo.lock, конфигураций развертывания, и оценки уязвимости во время выполнения. Результаты публикуются в виде приватной проблемы GitHub.
Сканер проверяет:
bytescargo audit, чтобы убедиться в отсутствии других уязвимых зависимостей| Дата | Событие |
|---|---|
| 2026-02-03 | Опубликован CVE-2026-25541 |
| 2026-02-03 | Выпущен bytes 1.11.1 (исправление) |
Данный анализ был проведен в рамках независимого исследования безопасности. Эксплуатация уязвимости не предпринималась в отношении производственных систем. Ответственное раскрытие через Issue GitHub.
Сгенерировано CVE Impact Analyzer v2.1
| Файл | Функция | Риск |
|---|
services/src/state_committer/service.rs | submit_fragments | Переполнение буфера фрагментов |
services/src/block_bundler/bundler.rs | сжатие пакета | Переполнение буфера сжатия |
adapters/fuel/src/client.rs | Разбор ответа GraphQL | Переполнение буфера ответа |
adapters/eth/src/websocket/ | Обработка кадров WebSocket | Переполнение кадрового буфера |
| 2026-04-14 | Dependabot открывает PR #254 в fuel-block-committer |
| 2026-06-22 | 68 дней без исправления — данный анализ |