Descripción
Stirling-PDF es una aplicación web alojada localmente que facilita diversas operaciones con archivos PDF. En versiones anteriores a 2.13.2, un administrador autenticado que utilice la base de datos H2 y el modo de seguridad por defecto puede cargar un archivo SQL especialmente manipulado en POST /api/v1/database/import-database. DatabaseService.validateSqlContent() divide la entrada normalizada por punto y coma y acepta una sentencia cuando contiene cualquier palabra clave permitida, lo que permite que funciones peligrosas de H2, como FILE_READ y CSVWRITE, además de CREATE ALIAS, eludan la lista blanca insuficiente y ejecuten efectos secundarios cuando RUNSCRIPT procesa el archivo. Esto permite el acceso arbitrario a archivos. La cadena demostrada de ejecución de comandos del sistema operativo escribe archivos de inicio controlados por el atacante en una ubicación de user-site y luego activa un intérprete de Python de la aplicación configurado para cargar esos archivos de inicio, lo que resulta en la ejecución de comandos con la cuenta de servicio de la JVM. Este problema está corregido en la versión 2.13.2.
Qué hacer
Revisa si usas el producto afectado y en qué versión, y aplica la actualización o la mitigación que indique el aviso del fabricante. CISA no ha confirmado que se esté explotando; si eso cambia, esta ficha pasa a «explotada» y te avisamos en el boletín.
Versiones afectadas
- Stirling-PDF Afectadas: < 2.13.2
Según el registro de la vulnerabilidad en CVE.org, tal como lo publicó el fabricante. Confirma tu versión exacta en el aviso del fabricante.
Referencias
- Referencia en github.comgithub.com/Stirling-Tools/Stirling-PDF/security/advisories/GHSA-mrr8-…
- Referencia en github.comgithub.com/Stirling-Tools/Stirling-PDF/pull/6796
- Referencia en github.comgithub.com/Stirling-Tools/Stirling-PDF/commit/d06d3cabaf5b8a7dcd0dbfc…
- Referencia en github.comgithub.com/Stirling-Tools/Stirling-PDF/releases/tag/v2.13.2
Ver el texto original en inglés (CVE.org)
Stirling-PDF: Remote Code Execution via H2
Stirling-PDF is a locally hosted web application that facilitates various operations on PDF files. Prior to 2.13.2, an authenticated administrator using the default H2 database and security mode can upload a crafted SQL file to POST /api/v1/database/import-database. DatabaseService.validateSqlContent() splits normalized input on semicolons and accepts a statement when it contains any allowed keyword, allowing dangerous H2 functions such as FILE_READ and CSVWRITE, plus CREATE ALIAS, to bypass the insufficient whitelist and execute side effects when RUNSCRIPT processes the file. This permits arbitrary file access. The demonstrated operating-system command execution chain writes attacker-controlled startup files to a user-site location and then triggers an application Python interpreter configured to load those startup files, resulting in command execution as the JVM service account. This issue is fixed in version 2.13.2.