Vulnerabilidad día 0 en WebP
INTRODUCCIÓN
Este informe corresponde a la vulnerabilidad asignada CVE-2023-5129, asignada anteriormente CVE-2023-4863 y presentada únicamente como una vulnerabilidad en Google Chrome. La vulnerabilidad fue causada por un desbordamiento de búfer Heap en Libwebp.
Libwebp, en realidad, es utilizado, como se puede ver en las referencias, por otros navegadores como Mozilla Firefox, Apple Safari y Microsoft Edge; y otras aplicaciones en Android, iOS, Linux o Windows.
ANÁLISIS
CVE-2023-5129 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H - 10:
Con un archivo WebP especialmente diseñado, libwebp puede escribir datos fuera de los límites del heap debido a que la función ReadHuffmanCodes() asigna al búfer HuffmanCode un tamaño que procede de una matriz de tamaños precalculados: kTableSize.
La matriz kTableSize sólo tiene en cuenta los tamaños para las búsquedas de tablas de primer nivel de 8 bits, pero no para las búsquedas de tablas de segundo nivel. libwebp permite códigos de hasta 15 bits (MAX_ALLOWED_CODE_LENGTH). Cuando BuildHuffmanTable() intenta rellenar las tablas de segundo nivel puede escribir datos fuera de los límites. La escritura OOB a la matriz de tamaño insuficiente ocurre en ReplicateValue.
Al tratarse de la misma vulnerabilidad que CVE-2023-4863, se conoce que está siendo explotada.
VERSIONES AFECTADAS
Productos que utilicen una versión de Libwebp anterior a la 1.3.2
RECOMENDACIONES
Los siguientes proveedores han publicado parches de seguridad contra esta vulnerabilidad:
- Google Chrome - Mac y Linux 116.0.5845.187 y Windows 116.0.5845.187/.188.
- Mozilla - Firefox 117.0.1, Firefox ESR 115.2.1, Firefox ESR 102.15.1, Thunderbird 102.15.1 y Thunderbird 115.2.2
- Navegador Brave - versión 1.57.64 (Chromium: 116.0.5845.188) [Android, iOS, Linux y Mac].
- Microsoft Edge - versiones 109.0.1518.140, 116.0.1938.81, y 117.0.2045.31.
- Navegador Tor - versión 12.5.4.
- Opera - versión 102.0.4880.46.
- Vivaldi - versión 6.2.3105.47.
- Bitwarden
- LibreOffice
REFERENCIAS
https://www.cyberkendra.com/2023/09/webp-0day-google-assign-new-cve-for.html
https://nvd.nist.gov/vuln/detail/CVE-2023-5129
https://nvd.nist.gov/vuln/detail/CVE-2023-4863
https://chromium.googlesource.com/webm/libwebp/+/2af26267cdfcb63a88e5c74a85927a12d6ca1d76
https://chromium.googlesource.com/webm/libwebp/+/902bc9190331343b2017211debcec8d2ab87e17a
https://en.wikipedia.org/wiki/WebP#:~:text=5)%2C%20GIMP%20(from%20version,GraphicConverter%20all%20natively%20support%20WebP.