V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыПродуктыВендорыДокументация
CVE-2022-24791
DEB
Критический

Wasmtime — это автономная JIT-среда выполнения для WebAssembly, использующая Cranelift. Существует уязвимость использования после освобожде…

CVSS
9.8
Критический
EPSS
0.01
p62
Опубликовано
2022-01-01
Обновлено
2022-01-01
Описание

Wasmtime — это автономная JIT-среда выполнения для WebAssembly, использующая Cranelift. Существует уязвимость использования после освобождения в Wasmtime при одновременном запуске Wasm, использующего externrefs, и включении прерывания эпохи в Wasmtime. Если вы явно не включаете прерывание эпохи (оно отключено по умолчанию), то вы не подвержены уязвимости. Если вы явно отключаете предложение типов ссылок Wasm (оно включено по умолчанию), то вы также не подвержены уязвимости. Использование после освобождения вызвано тем, что Cranelift не может генерировать карты стека, когда внутри холодных блоков есть точки безопасности. Холодные блоки возникают при включенном прерывании эпохи. Холодные блоки излучаются в конце скомпилированных функций и изменяют порядок излучения блоков по сравнению с определенным. Эта переупорядочение случайно заставило Cranelift пропустить излучение некоторых карт стека, потому что он ожидал излучать карты стека в порядке определения блоков, а не в порядке излучения блоков. Когда Wasmtime в конечном итоге собирал мусор, он не мог найти живые ссылки в стеке из-за отсутствующих карт стека, думал, что это неиспользуемый мусор, и поэтому возвращал их. Затем после окончания сбора код Wasm мог использовать возвращенные слишком рано ссылки, что является использованием после освобождения. Исправления были выпущены в версиях 0.34.2 и 0.35.2, которые устраняют уязвимость. Всем пользователям Wasmtime рекомендуется обновиться до этих исправленных версий. Если обновление в данный момент невозможно, вы можете избежать уязвимости, либо: отключив предложение типов ссылок Wasm, config.wasm_reference_types(false); либо отключив прерывание эпохи, если вы ранее его включали. config.epoch_interruption(false).

Теги · CWE
Удалённый запуск кодаБез аутентификации
CWE-416
Затронутые продукты
FirefoxFirefoxFirefoxFirefoxFirefoxFirefoxFirefoxFirefoxFirefoxFirefoxMozjs38Mozjs52Mozjs52Mozjs68Mozjs78Mozjs78Mozjs78Mozjs78Mozjs91Rust-wasmtime
Вектор CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Хронология
2022-01-01
Опубликована
2022-01-01
Обновлена
Разбор CVSS 3.1
Вектор атаки
AV: N
Сеть (N)
Сложность атаки
AC: L
Низкая (L)
Требуемые привилегии
PR: N
Отсутствуют (N)
Взаимодействие с пользователем
UI: N
Отсутствует (N)
Область воздействия
S: U
Неизменная (U)
Воздействие на конфиденциальность
C: H
Высокое (H)
Воздействие на целостность
I: H
Высокое (H)
Воздействие на доступность
A: H
Высокое (H)
Индикаторы эксплуатации
EPSS
0.011 · p62
Известна эксплуатация (KEV)
Нет
Проверки Сканер-ВС
Проверок Сканер-ВС для этой уязвимости в базе пока нет.
Затронутые продукты
ПродуктВендорСтатус
firefoxОтслеживается
firefoxОтслеживается
firefoxОтслеживается
firefoxОтслеживается
firefoxОтслеживается
firefoxОтслеживается
firefoxОтслеживается
firefoxОтслеживается
firefoxОтслеживается
firefoxОтслеживается
mozjs38Отслеживается
mozjs52Отслеживается
mozjs52Отслеживается
mozjs68Отслеживается
mozjs78Отслеживается
mozjs78Отслеживается
mozjs78Отслеживается
mozjs78Отслеживается
mozjs91Отслеживается
rust-wasmtimeОтслеживается
Показаны первые 20 из 31
Источники данных
DEB
CVE
UBU