Wasmtime - это время выполнения для WebAssembly. До 24.0.7, 36.0.7, 42.0.2 и 43.0.1 реализация Wasmtime транскодирования строк между компон…
Wasmtime - это время выполнения для WebAssembly. До 24.0.7, 36.0.7, 42.0.2 и 43.0.1 реализация Wasmtime транскодирования строк между компонентами содержит ошибку, при которой обратное значение релока гостевого компонента не проверяется до того, как хозяин попытается записать через указатель. Это позволяет гостю заставить хоста писать произвольные транскодированные строочные байты в произвольное местоположение до 4GiB от основания линейной памяти. Эти записи на хосте могут поразить незапланированную память или могут повредить структуры данных хостов в зависимости от конфигурации Wasmtime. Wasmtime по умолчанию резервы 4GiB виртуальной памяти для линейной памяти гостя означают, что эта ошибка по умолчанию на хостах заставит хостов поразить ненанесенную карту памяти и прервать процесс из-за неисправности. Однако Wasmtime может быть настроен на то, чтобы зарезервировать меньше памяти для гостя и удалить все страницы охраны, поэтому некоторые конфигурации Wasmtime могут привести к повреждению данных за пределами линейной памяти гостя, таких как структуры данных хоста или линейные воспоминания других гостей. Эта уязвимость зафиксирована в пунктах 24.0.7, 36.0.7, 42.0.2 и 43.0.1.
Продукт записывает данные за пределами конца или до начала предназначенного буфера.
https://cwe.mitre.org/data/definitions/787.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| Отслеживается | ||
| rust-wasmtime | Отслеживается | |
| rust-wasmtime | Отслеживается | |
| wasmtime | * | Отслеживается |