wpd, el decodificador WebP en Rust que supera a libwebp en seguridad y velocidad
Memory-Safe WebP Decoding

wpd es un decodificador WebP escrito en Rust que busca reemplazar a libwebp, afectado por vulnerabilidades como CVE-2023-4863. Ofrece hasta 3.19x más velocidad en multihilo y puede compilarse sin ensamblador para garantizar seguridad de memoria. Incluye una API en Rust y compatibilidad con la ABI de C, con paridad de características frente a libwebp.
Según el equipo de Chromium, alrededor del 70% de sus errores de seguridad de alta severidad provienen de problemas de seguridad de memoria.
- jessa0
Relacionado está el crate webpsan de Signal Messenger, que valida la sintaxis del contenedor webp antes de pasarlo a libwebp. Sin embargo, se queda justo antes de decodificar los datos de píxeles reales, ya que la forma en que funciona webp requiere que se asigne todo el lienzo para decodificar por completo los datos de píxeles, lo que habría convertido a webpsan en un decodificador completo de todos modos..
- omoikane
No estoy seguro de cuál es el estado actual del decodificador WebP basado en Wuffs, pero sería otra implementación que valdría la pena comparar, ya que comparte los mismos objetivos de seguridad y velocidad.
- computerbuster
código: https://github.com/halidecx/wpd