Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-22131-PoC — PoC para CVE-2025-22131 | Kitploit
Herramientas/GitHubGitHub/zzn1nj4/cve-2025-22131-poc
Herramientas de PhishingGeneración de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones Web
GitHubzzn1nj4/cve-2025-22131-poc

CVE-2025-22131-PoC

PoC para CVE-2025-22131

Ver Repositorio
12hace 1 añoAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-22131-PoC

PoC para CVE-2025-22131

PhpSpreadsheet es una biblioteca escrita en PHP puro y ofrece un conjunto de clases que te permiten leer y escribir varios formatos de archivos de hoja de cálculo como Excel y LibreOffice Calc.

phpspreadsheet versión <1.29.8>=2.2.0, <2.3.6>=2.0.0, <2.1.7>=3.0.0, <3.8.0 se ve afectada por una vulnerabilidad donde los nombres de las hojas no se sanitizan adecuadamente lo que conduce a XSS.

Resumen

  • crea un archivo xlsx simple con más de 1 hoja y guárdalo.

  • descomprime el archivo, actualiza el nombre de la hoja manualmente con el payload xss

  • vuelve a comprimir el archivo

  • sube el archivo xlsx al servidor vulnerable

  • exfiltra la cookie de la víctima en la url proporcionada

    Nota: He usado el payload para exfiltrar la cookie de la víctima, si se desea otra cosa, actualiza el archivo xl/workbook.xml en consecuencia.

Código Afectado

root@kitploit:~
    /**
     * Generate sheet tabs.
     */
    public function generateNavigation(): string
    {
        // Fetch sheets
        $sheets = [];
        if ($this->sheetIndex === null) {
            $sheets = $this->spreadsheet->getAllSheets();
        } else {
            $sheets[] = $this->spreadsheet->getSheet($this->sheetIndex);
        }

        // Construct HTML
        $html = '';

        // Only if there are more than 1 sheets
        if (count($sheets) > 1) {
            // Loop all sheets
            $sheetId = 0;

            $html .= '<ul class="navigation">' . PHP_EOL;

            foreach ($sheets as $sheet) {
                $html .= '  <li class="sheet' . $sheetId . '"><a href="#sheet' . $sheetId . '">' . $sheet->getTitle() . '</a></li>' . PHP_EOL;
                ++$sheetId;
            }

            $html .= '</ul>' . PHP_EOL;
        }

        return $html;
    }

Aquí $sheet->getTitle() no se escapa correctamente usando htmlspecialchars(), razón por la cual un atacante puede inyectar HTML.
Ten en cuenta que este fragmento de código solo se ejecuta cuando hay más de 1 hoja, por lo que es necesario tener un archivo xlsx con más de 1 hoja.
En el PoC, se usa una etiqueta de imagen para luego exfiltrar las cookies de la víctima a la url del atacante.

Referencias

  • https://github.com/PHPOffice/PhpSpreadsheet/commit/4088381ccfaf241d7d42c333de0dc8c98e338743
  • https://security.snyk.io/vuln/SNYK-PHP-PHPOFFICEPHPSPREADSHEET-8651746
Descargar herramienta