wpd: Rust-декодер WebP, который быстрее и безопаснее libwebp
Memory-Safe WebP Decoding

Компания Halide выпустила wpd — декодер WebP на Rust, призванный решить проблемы безопасности памяти, подобные CVE-2023-4863. Он обеспечивает полную функциональную совместимость с libwebp и превосходит его по скорости: до 1.19x в однопоточном режиме и до 3.19x в многопоточном. Код можно собрать без рукописного ассемблера, что делает его полностью безопасным для памяти. Проект распространяется под лицензией BSD 2-Clause.
Согласно команде Chromium, около 70% их критических уязвимостей связаны с проблемами безопасности памяти.
- jessa0
Связанный с этим — крейт webpsan от Signal Messenger, который проверяет синтаксис контейнера webp перед тем, как передать его в libwebp. Однако он останавливается как раз перед декодированием самих пиксельных данных, поскольку принцип работы webp требует выделения всего холста для полного декодирования пиксельных данных, что всё равно превратило бы webpsan в полноценный декодер..
- omoikane
Я не уверен, каков текущий статус WebP-декодера на основе Wuffs, но это ещё одна реализация, которую стоит сравнить, поскольку она преследует те же цели безопасности и скорости.
- computerbuster