Falla crítica en Apache Tika expone servidores a ataques XXE

Vulnerabilidad en Apache Commons Text

Una nueva vulnerabilidad crítica ha sido descubierta en Apache Tika CVE-2025-66516, la popular herramienta de código abierto que miles de aplicaciones empresariales utilizan para detectar y extraer texto de documentos (como PDFs, Excels, imágenes y archivos XML). 

El fallo, clasificado como de alta gravedad, permite un ataque conocido como Inyección de Entidad Externa XML (XXE). 


¿Cuál es el problema? 

Apache Tika funciona como un “traductor universal”: tú le das un archivo extraño y él te dice qué contiene. El problema reside en cómo procesa ciertos archivos XML maliciosos. Un atacante puede crear un documento manipulado que, al ser “leído” por un servidor vulnerable con Tika, engaña al sistema para que entregue información que no debería. 

Consecuencias del ataque: 

  • Robo de Archivos Locales: El atacante podría obligar al servidor a leer y mostrar archivos internos (como /etc/passwd en Linux o archivos de configuración con contraseñas). 
  • SSRF (Server-Side Request Forgery): Podría usar el servidor infectado para lanzar ataques contra otras máquinas dentro de la red interna. 
  • Denegación de Servicio: Podría bloquear el sistema haciéndolo procesar bucles infinitos. 

 El riesgo de las “Dependencias Invisibles” 

Lo peligroso de este fallo no es que “Apache Tika” sea una aplicación que instalas y ves en tu escritorio. Es una librería. Esto significa que está incrustada dentro de cientos de otros programas famosos: motores de búsqueda (como Apache Solr y Lucene), gestores de contenido (CMS), sistemas de análisis forense y herramientas de Big Data. Muchos administradores de sistemas ni siquiera saben que tienen Tika corriendo en sus servidores porque está oculto dentro de otra aplicación. 


¿Qué es un ataque XXE? (Analogía) 

Imagina que un recepcionista (Apache Tika) tiene la tarea de abrir cartas y leer el contenido. Un ataque XXE es como enviarle una carta que dice: “Por favor, no leas esto, mejor ve al sótano, busca el archivo de secretos de la empresa y escríbelo aquí”. Si el recepcionista es ingenuo (vulnerable), obedecerá y te enviará los secretos. La actualización de seguridad básicamente “entrena” al recepcionista para ignorar esas instrucciones peligrosas. 


Recomendaciones
  • Revisa tu pom.xml o build.gradle: Verifica si estás usando org.apache.tika. 
  • Actualiza: Sube a la versión más reciente (parcheada) de inmediato. 
  • Desactiva el procesamiento XML externo: Como buena práctica, configura siempre tus parsers XML para ignorar DTDs y entidades externas a menos que sean estrictamente necesarias. 

Related Post