← Volver al archivo

Lectura / E

Redacción · Tecnología y gadgets

Tras varios años de destierro, Chrome recupera el soporte para imágenes JPEG XL

Tras varios años de destierro, Chrome recupera el soporte para imágenes JPEG XL

El navegador Chrome, a partir de la versión Chrome 155, vuelve a admitir la decodificación de imágenes en formato JPEG XL (.jxl). Este formato reduce el tamaño de los archivos entre un 30 % y un 50 % en comparación con JPEG, y también ofrece compresión sin pérdidas, soporte integrado de HDR, transcodificación de JPEG sin pérdidas y muchas otras funciones.

Fuente de la imagen: developer.chrome.com

Fuente de la imagen: developer.chrome.com

Como señalan los desarrolladores, el formato JPEG XL resulta especialmente útil para la compresión de alta precisión o sin pérdidas, sobre todo en imágenes fotográficas, y también cuando se prefiere una decodificación progresiva de grano fino.

Los sistemas de decodificación de imágenes son uno de los objetivos de ataque en un navegador web. Históricamente, los decodificadores escritos en lenguajes inseguros para la memoria, como C++, han sido vulnerables a fallos como el out-of-bounds read (lectura fuera de los límites de la memoria), el heap overflow (desbordamiento del montón) y la vulnerabilidad Use-After-Free (UAF), provocada por un uso incorrecto de la memoria dinámica.

El modelo de seguridad del formato se basa en el «sandbox» y en la defensa en profundidad, siguiendo la «regla de los dos» (The Rule of Two). Además, para eliminar las amenazas de seguridad en su origen, los desarrolladores han integrado jxl-rs, una implementación del decodificador JPEG XL en lenguaje Rust.

También se ha recurrido a la función target_feature_11 de Rust para garantizar la seguridad, lo que permitió usar instrucciones SIMD sin recurrir a código inseguro. El siguiente paso fue crear una capa de abstracción SIMD (jxl_simd) inspirada en la biblioteca Highway de C++. En conjunto, estos desarrollos han permitido crear una biblioteca multiplataforma que no compromete la optimización del rendimiento de SIMD y, al mismo tiempo, limita las operaciones inseguras a un pequeño número de ubicaciones revisadas con detalle.

La optimización del rendimiento en jxl-rs se basa en las optimizaciones de libjxl. Según se informa, los desarrolladores han verificado la implementación de jxl-rs con diversos métodos modernos, como el fuzzing y la revisión de código con IA, sin encontrar ningún error de seguridad de memoria.

«Con la llegada de JPEG XL a Chrome, las páginas web son más rápidas, más ricas y más seguras. Recomendamos a los desarrolladores, creadores de contenido y propietarios de plataformas que empiecen a usar imágenes y animaciones en formato .jxl en sus proyectos», han propuesto los desarrolladores del nuevo formato.

Tecnología y gadgets / 03

Sigue leyendo