CVE-2023-4863: ¿Hasta dónde llega la madriguera del conejo?
Vulnerabilidad: Desbordamiento del búfer Heap en libwebp
CVE ID: CVE-2023-4863
Puntuación CVSS: 8,8 (aunque otra CVE fusionada con ésta obtuvo una puntuación de 10,0.) Es probable que se actualice la puntuación de 8,8 dado el alcance y el riesgo).
El estado de soporte del ciclo de vida ampliado de TuxCare puede consultarse en el rastreador CVE de TuxCare aquí.
La causa
La vulnerabilidad germina de la forma en que libwebp navega por las tablas de codificación Huffman. Las tablas de codificación Huffman son el "diccionario" que indica a un programa cómo se almacena la imagen en el archivo. El concepto de tabla Huffman se utiliza en la codificación de diferentes tipos de datos, no sólo imágenes y no sólo el formato webp, y es una forma de hacer que los elementos de los datos de la imagen utilicen menos bits cuando se almacenan si son muy comunes, y hacer que los elementos que son menos comunes utilicen secuencias más largas de bits. De este modo, el tamaño total del archivo es menor. Esta información se almacena dentro de cada archivo webp.
Una imagen especialmente diseñada puede instigar una escritura de búfer fuera de límites con contenido controlado por el atacante. Se trata de un ataque zero-click, que permite a un atacante remoto hacerse con el control del sistema sin interacción por parte del usuario. Inicialmente percibido como un dilema de Google Chrome, la revelación de que el error existía en libwebp ha desvelado que la vulnerabilidad podría afectar potencialmente a cualquier aplicación capaz de cargar imágenes webp, dado que utilizan libwebp internamente. Esto incluye, pero no se limita a, Firefox, Thunderbird, FFMpeg, mensajeros de plataformas sociales y dispositivos IOS y Android.
Relevancia
CISA identifica esta vulnerabilidad como explotada actualmente en la naturaleza. Esto significa que hay pruebas claras de incidentes de ciberseguridad directamente relacionados con la explotación de dicha vulnerabilidad. Dado su alto perfil y la asombrosa cantidad de software de terceros afectado, y lo mucho que se ha investigado públicamente, el código de explotación también es fácilmente accesible para las partes interesadas.
Los recientes acontecimientos relacionados con el programa espía Pegasus han ilustrado que esta vulnerabilidad no es una mera amenaza hipotética, sino un riesgo tangible que afecta a la ciberseguridad mundial.
Análisis de las implicaciones de largo alcance de CVE-2023-4863
El descubrimiento de una nueva vulnerabilidad se asemeja a una emocionante pero peligrosa aventura hacia lo desconocido. CVE-2023-4863 no es una excepción. La vulnerabilidad, que gira en torno al modo en que libwebp gestiona las tablas de codificación Huffman, ha provocado una cascada de posibles brechas de seguridad en numerosas aplicaciones y plataformas. El problema no está aislado en una sola aplicación o sistema operativo, lo que lo convierte en una amenaza formidable en el vasto océano digital.
Esta vulnerabilidad se descubrió en medio de una crisis mundial de ciberseguridad relacionada con el famoso programa espía Pegasus. El 12 de septiembre de 2023, se publicaron parches urgentes para dos problemas de Apple y una actualización de Chrome para solucionar vulnerabilidades explotadas activamente. Descubiertas por CitizenLab mientras investigaba el dispositivo de un individuo de una organización con sede en Washington DC, dos vulnerabilidades (incluyendo CVE-2023-4863 y una específica de IOS CVE-2023-41064) basadas en un desbordamiento del búfer heap en libwebp.
Se descubrió que el problema radicaba en el soporte de "compresión sin pérdidas" de WebP, más comúnmente conocido como VP8L. También fue muy difícil entender cómo explotar esta vulnerabilidad. El gran número de combinaciones de posibles contenidos que pueden existir en una imagen, y el subconjunto muy pequeño y específico de esas mismas imágenes que podrían desencadenar este comportamiento fue muy difícil de identificar - de hecho, es casi imposible garantizar que no existan otros casos extremos de este tipo. Esto sugiere, aunque no se ha confirmado, que el esfuerzo realizado para encontrar esta vulnerabilidad ha sido considerable y no el hallazgo casual de un investigador de seguridad cualquiera.
Hay importantes recompensas monetarias por este tipo de vulnerabilidades. Por ejemplo, hace muy poco se ofreció la asombrosa cifra de 20 millones de dólares por exploits totalmente funcionales para iOS. Esto parece justificar el esfuerzo dedicado a la búsqueda de este tipo de problemas en primer lugar.
No se puede exagerar la importancia de CVE-2023-4863. Google y Apple han lanzado actualizaciones para parchear esta vulnerabilidad, pero libwebp se utiliza en muchas otras aplicaciones. La actualización de Android, en particular, puede tardar bastante tiempo en llegar a todas las marcas y modelos, debido a la brecha de parches existente en el ecosistema Android.
El programa espía Pegasus, comercializado por el grupo NSO, es famoso por su naturaleza insidiosa y omnipresente. Ha desempeñado un papel decisivo en numerosas campañas de vigilancia. El spyware, que roba correos electrónicos, mensajes de texto, fotos, vídeos, ubicaciones, contraseñas y actividad en redes sociales sin consentimiento ni visibilidad, existe desde hace años, y su existencia no debe pasarse por alto. Se basa en vulnerabilidades muy avanzadas, como ésta, para desplegarse en equipos y sistemas de objetivos desprevenidos. El hecho de que la presencia de libwebp no se limite a los dispositivos móviles no hace sino aumentar (mucho) la superficie de ataque.
Basta con visitar un sitio web que contenga una imagen maliciosa, recibir una imagen a través de mensajería instantánea o abrir dicho contenido en un visor de imágenes en el que no se haya solucionado el problema para que un atacante despliegue su carga útil. Inevitablemente se utilizará para otros tipos de malware.
Puede consultar un análisis en profundidad de esta vulnerabilidad específica y algunas de sus repercusiones en este episodio del podcast Enterprise Linux Security.
Recomendación
Dado el riesgo, la prevalencia y la facilidad de ataque, TuxCare recomienda encarecidamente aplicar los parches a todos los sistemas inmediatamente en cuanto estén disponibles.
Puede seguir la disponibilidad de los parches para los sistemas cubiertos por TuxCare aquí..
Además, para otros sistemas operativos y dispositivos, los parches deben aplicarse lo antes posible.