¿Qué es la vulnerabilidad CVE-2026-115905 en la librería zip de Rust?

El fallo de seguridad catalogado como CVE-2026-115905 afecta a la librería zip de Rust, un componente diseñado para leer y escribir archivos ZIP simples detalles de la vulnerabilidad crítica CVE-2026-110447 en Collabora Online dentro de Nextcloud. Con una puntuación CVSS de 10.0, esta incidencia representa un riesgo severo para los sistemas que implementan esta biblioteca en sus flujos de datos.

El problema radica en la forma en que se procesan las cabeceras de los archivos comprimidos. Hasta la versión 9.0.4, el componente ZipArchive trataba los nombres de archivos del Central Directory File Header como autoritativos, mientras que ZipStreamReader realizaba extracciones empleando los nombres del Local File Header sin reconciliar la duplicidad de metadatos presente en el archivo src/read/stream.rs.

¿Cómo se explota esta discrepancia en los metadatos?

Un atacante puede confeccionar un archivo ZIP malicioso que aparente ser completamente benigno ante cualquier componente encargado de inspeccionar únicamente el directorio central del archivo.

Sin embargo, al procesar el archivo mediante un extractor de flujo (streaming extractor), este puede escribir una ruta y contenido seleccionados por el atacante. Esto podría provocar la sobrescritura de ficheros críticos utilizados por un servicio downstream, comprometiendo la integridad general del sistema.

¿A quién afecta y cuál es la solución oficial?

Para solucionar este grave problema de validación de entradas y conflictos de análisis, los mantenedores han publicado una actualización de seguridad que corrige el fallo en el manejo de cabeceras.

Se recomienda encarecidamente a los equipos de desarrollo revisar sus dependencias actuales y aplicar el parche correspondiente lo antes posible para mitigar cualquier intento de explotación en entornos de producción CVE-2026-115905 (CVSS 10.0).

  1. Localiza el archivo Cargo.toml en la raíz de tu proyecto de Rust.
  2. Actualiza la dependencia de la librería zip especificando la versión corregida mediante el comando cargo update o modificando la línea del paquete.
  3. Verifica que la versión instalada en el archivo Cargo.lock sea al menos la 9.0.5 consultando el repositorio oficial Referencia técnica.
  4. Ejecuta la suite de pruebas automatizadas de tu aplicación para comprobar que la compilación y la lectura de archivos comprimidos operan con normalidad.