CVE-2023-38490
Vulnerabilidad de XML External Entity (XXE) en el manejador de datos XML de Kirby
- Publicado
- 27 jul 2023
- Actualizado
- 16 oct 2024
- Asignación de CNA
- GitHub_M
- Evidencia observada
- 7 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NBajo · próximos 30 días
- Percentil
- 75,8 %
- Fecha del modelo
- 21 sept 2026
EPSS es una estimación estadística, no una certeza o una medida de impacto. Combínelo con CVSS, estado KEV, exposición y su entorno.
Resumen
Kirby es un sistema de gestión de contenidos. Una vulnerabilidad en versiones anteriores a 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 y 3.9.6 solo afecta a los sitios Kirby que utilizan el manejador de datos `Xml` (p. ej. `Data::decode($string, 'xml')`) o el método `Xml::parse()` en el código del sitio o de los plugins. El núcleo de Kirby no utiliza ninguno de los métodos afectados. Las Entidades Externas XML (XXE) son una característica poco utilizada del lenguaje de marcado XML que permite incluir datos de archivos externos en una estructura XML. Si un atacante puede controlar el nombre del archivo externo, esto se convierte en una vulnerabilidad que puede aprovecharse para diversos impactos en el sistema, como la divulgación de datos internos o confidenciales almacenados en el servidor (divulgación arbitraria de archivos) o la realización de solicitudes de red en nombre del servidor (server-side request forgery, SSRF). El método `Xml::parse()` de Kirby utilizaba la constante `LIBXML_NOENT` de PHP, que permitía el procesamiento de entidades externas XML durante la operación de análisis. El método `Xml::parse()` se utiliza en el manejador de datos `Xml` (p. ej. `Data::decode($string, 'xml')`). Ni el método vulnerable ni el manejador de datos se utilizan en el núcleo de Kirby. Sin embargo, pueden utilizarse en el código del sitio o de los plugins, p. ej. para analizar fuentes RSS u otros archivos XML. Si esos archivos son de origen externo (p. ej. subidos por un usuario u obtenidos desde una URL externa), los atacantes podrían incluir una entidad externa en el archivo XML que luego se procesaría durante el análisis. Los sitios Kirby que no utilizan el análisis XML en el código del sitio o de los plugins *no* se ven afectados. El problema se ha corregido en Kirby 3.5.8.3, 3.6.6.3, 3.7.5.2, 3.8.4.1 y 3.9.6. En todas las versiones mencionadas, los mantenedores han eliminado la constante `LIBXML_NOENT`, ya que el procesamiento de entidades externas está fuera del alcance de la lógica de análisis. Esto protege todos los usos del método contra la vulnerabilidad descrita.
Fuentes
1Uso responsable
Utilice información sobre vulnerabilidades solo en sistemas de su propiedad o que esté autorizado a probar. Kitploit enlaza con metadatos de investigación pública y no almacena código de explotación ni cargas útiles maliciosas.