Media

PhpSpreadsheet HTML writer is vulnerable to Cross-Site Scripting via JavaScript hyperlinks

  • Publicada: 07.10.2024
  • Actualizado: 11.10.2026 10:22

Summary

\PhpOffice\PhpSpreadsheet\Writer\Html does not sanitize "javascript:" URLs from hyperlink href attributes, resulting in a Cross-Site Scripting vulnerability.

PoC

Example target script:

php
<?php

require 'vendor/autoload.php';

$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader("Xlsx");
$spreadsheet = $reader->load(__DIR__ . '/book.xlsx');

$writer = new \PhpOffice\PhpSpreadsheet\Writer\Html($spreadsheet);
print($writer->generateHTMLAll());

Save this file in the same directory: book.xlsx

Open index.php in a web browser and click on both links. The first demonstrates the vulnerability in a regular hyperlink and the second in a HYPERLINK() formula.

Software afectado

Haz clic en una tecnología para ver todas sus vulnerabilidades.

PlataformaPaqueteVersiones vulnerablesCorregida en
Paquete de Composer phpoffice/phpexcel <= 1.8.2 sin corrección
Paquete de Composer phpoffice/phpspreadsheet >= 2.2.0, < 2.3.0, < 1.29.2, >= 2.0.0, < 2.1.1 2.3.0, 1.29.2, 2.1.1

Referencias

Puntuación CVSS 5.4/10
Vector CVSS
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Debilidad (CWE)
CWE-79
Plataforma
Composer
Paquete
phpoffice/phpexcel, phpoffice/phpspreadsheet
Publicada
07.10.2024
Actualizado
11.10.2026 10:22

Fuentes y licencias

OSV / GitHub Advisory Database - GHSA-r8w8-74ww-j4wh - CC BY 4.0

Historial de vulnerabilidades: phpoffice/phpexcel

Todas las vulnerabilidades publicadas de este paquete (Paquete de Composer), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.

Todas (23) en el archivo
Entradas en total
23
Primera → última
11.2019 02.2025
Sin corrección
20
Explotada en ataques
0

Distribución por gravedad

  • Alta 12
  • Media 10
  • Baja 1

Divulgaciones por año

  1. 2019: 2
  2. 2020: 0
  3. 2021: 1
  4. 2022: 1
  5. 2023: 0
  6. 2024: 10
  7. 2025: 9
  8. 2026: 0
Gravedad:
  1. Alta · 7.1 CVE-2024-56409 <= 1.8.2 sin corrección
  2. Alta · 7.1 CVE-2024-56366 <= 1.8.2 sin corrección
  3. Alta · 7.1 CVE-2024-56408 <= 1.8.2 sin corrección
  4. Alta · 7.5 CVE-2024-48917 <= 1.8.2 sin corrección
  5. Alta · 7.5 CVE-2024-47873 <= 1.8.2 sin corrección
  6. Alta CVE-2015-3542 < 1.8.1 1.8.1
  7. PhpSpreadsheet HTML writer is vulnerable to Cross-Site Scripting via JavaScript hyperlinks esta entrada
    Media · 5.4 CVE-2024-45292 <= 1.8.2 sin corrección
  8. Alta · 7.5 CVE-2024-45293 <= 1.8.2 sin corrección
  9. Alta · 8.8 CVE-2024-45048 <= 1.8.2 sin corrección
  10. Alta · 8.8 CVE-2019-12331 <= 1.8.2 sin corrección
  11. Alta · 8.8 CVE-2018-19277 < 1.8.2 1.8.2

Identifica las vulnerabilidades de tu aplicación

Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.

Conectar tu aplicación
Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.