Пятнадцать бюллетеней Wasmtime: побег из файловой песочницы (CVSS 8.8) и паники от гостя

14.10.2026

Bytecode Alliance выпустила двенадцать бюллетеней безопасности wasmtime (14.10.2026). Самый серьёзный — побег из файловой песочницы при переименовании символических ссылок с завершающим слэшем (CVSS 8.8); остальные позволяют гостевому модулю вызвать панику хоста или исчерпание ресурсов.

Побег из песочницы (CVSS 8.8 HIGH)

0352 — при переименовании символической ссылки с завершающим слэшем гость мог выйти за пределы файловой песочницы и получить доступ к путям вне разрешённого каталога. Наиболее опасная из партии.

Panics и ресурсы (гость → хост)

  • 0350 (2.1) — гости могут отправлять absolute-form HTTP-запросы к другим хостам (wasi-http);
  • 0351 (5.3) — длинный URL до параметра запроса роняет хост (wasi-http);
  • 0353 (5.9) — паника при вызове async-lifted функции через call;
  • 0356 (5.3) — паника при ошибочном call-to-host из реаллока гостя;
  • 0358 (5.9) — yield в start-функции компонента ведёт к панике хоста;
  • 0359 (5.3) — переполнение стека при разрушении длинной цепочки рекурсивных типов;
  • 0360 (5.9) — перекрывающийся transcode строк во fused adapter паникует;
  • 0361 (5.9) — паника при выполнении отложенных вызовов после ловушки;
  • 0362 (5.9) — не соблюдается требование async-entrypoint;
  • 0363 (6.2) — таблицы handle компонентной модели ограничены только по экземпляру и не заряжаются в лимит;
  • 0364 (2.1) — теги исключений приводят к невыровненным структурам данных хоста.
  • 0354 (5.9) — паника хоста при отмене call_async компонента при некоторых условиях;
  • 0355 (5.9) — паника при просмотре потока или future компонентной модели как значения неверного типа;
  • 0357 (5.9) — паника при записи нулевой длины за границы потока.

Что делать

Исправлено в версиях 36.0.18, 48.0.6 и 49.0.3 (в зависимости от ветки). Учитывая побег из песочницы, обновление критично для сред, исполняющих сторонний Wasm.

Оригинал

Guests can send absolute-form HTTP requests to different hosts; Request with long url before query parameter crashes host; Filesystem sandbox escape when renaming symlinks with trailing slashes; Panic when invoking an async-lifted function via call; Panic on erroneous call-to-host from guest realloc call; Yielding in a component start function can lead to a host panic; Stack overflow dropping a long chain of recursive types; Overlapping string transcode in a fused adapter can panic; Panic when pending calls are run after a trap; Wasmtime may not properly enforce async-entrypoint requirement; Component-model handle tables are capped only per instance and charged to no limit; Exception tags can cause host data structures to be unaligned.

Упоминаний: 15 · Просмотров: 6