Да.
Хотя WASM и сам предотвращает некоторые атаки, многие программы, которые Rust делает невозможными или труднее использовать, все равно будут присутствовать в программе C для WASM. В WASM существуют по крайней мере следующие векторы атаки:
- Целочисленные переполнения / недополнения: это UB в C, но они определены в Rust.
- Переполнения буфера: WASM использует линейная память. Rust предотвращает переполнение буфера, это UB в C.
- Использование после освобождения: невозможно иметь в безопасном Rust, это часто встречается в C.
Некоторые другие атаки не должно быть возможности использования WASM, независимо от того, используется ли C или Rust в качестве исходного языка:
- Произвольное выполнение кода на уровне ОС: WASM вообще не имеет таковых.
- Executable- в WASM защита пространства не требуется.
Единственный способ использовать эти векторы атаки - найти уязвимость в самом браузере.