PHP Check · Beta

¿Cómo está tu PHP?

Comprueba si la versión PHP pública de tu web coincide con la vulnerabilidad actual. Una comprobación rápida y gratuita con una evaluación clara.

Solo comprobamos la página de inicio con HEAD y hasta dos redirecciones. Sin exploits ni pruebas de carga.

Privacidad y proceso

Se eliminan rutas y parámetros de la URL. El destino ve la IP de nuestro servidor. Los resultados e identificadores de destino con hash se procesan brevemente para la caché y los límites; tu comprobación no se publica.

Revisa tu servidor con más detalle

Beta

Ejecuta el script por SSH con el binario PHP de tu aplicación. Lee localmente la versión, el entorno y algunos ajustes, sin enviarnos datos.

Comando para el terminal

( dd_php_file=$(mktemp) || exit; trap 'rm -f "$dd_php_file"' EXIT HUP INT TERM; curl --proto '=https' --tlsv1.2 -fsS --max-time 20 'https://dashdesign.eu/tools/php-check/diagnose.php?locale=es' -o "$dd_php_file" && php -r 'if(hash_file("sha256",$argv[1])!=="9a582c262613b48af67752d46804f0391d0b53042c1e8333e7941e9d06ac9622"){fwrite(STDERR,"SHA-256 mismatch\n");exit(1);}require $argv[1];' "$dd_php_file" )

Requiere curl y PHP. Descarga en un archivo temporal, verifica SHA-256 y se ejecuta sin sudo. Lee antes el código. PHP de CLI puede diferir de PHP web; el script no verifica los parches web ni las correcciones del proveedor. No lo guardes en un directorio web público.

Descargar script PHP
Ver y copiar el script completo
<?php
// dashdesign; PHP Check — Beta. Read-only, no network requests, no upload.
// Source: https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w
// Rules reviewed: 2026-10-21. Run with the PHP binary you want to inspect.
if (PHP_SAPI !== 'cli' && PHP_SAPI !== 'phpdbg') {
    http_response_code(403);
    exit('CLI only. Do not publish this file in a web directory.');
}
$fixes = array(
    '8.2' => 35,
    '8.3' => 36,
    '8.4' => 27,
    '8.5' => 12
);
$status = 'unknown';
$required = null;
if (preg_match('/^(\d+)\.(\d+)\.(\d+)$/D', PHP_VERSION, $parts)) {
    $branch = $parts[1] . '.' . $parts[2];
    if (isset($fixes[$branch])) {
        $required = $branch . '.' . $fixes[$branch];
        $status = ((int) $parts[3] >= $fixes[$branch]) ? 'patched' : 'affected';
    } elseif ((int) $parts[1] >= 5 && ((int) $parts[1] < 8 || ((int) $parts[1] === 8 && (int) $parts[2] < 2))) {
        $status = 'affected';
    }
}
$labels = array('affected' => 'Probablemente afectado', 'patched' => 'Probablemente corregido', 'unknown' => 'No se puede determinar');
$report = array(
    'tool' => 'dashdesign; PHP Check Beta',
    'advisory' => 'https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w',
    'rules_reviewed' => '2026-10-21',
    'checked_at' => gmdate('c'),
    'verdict' => $status,
    'result' => $labels[$status],
    'php_version' => PHP_VERSION,
    'minimum_fixed_release_for_branch' => $required,
    'sapi' => PHP_SAPI,
    'web_runtime_verified' => false,
    'vendor_backport_verified' => false,
    'memory_limit' => ini_get('memory_limit'),
    'post_max_size' => ini_get('post_max_size'),
    'file_uploads' => (bool) ini_get('file_uploads'),
    'note' => 'Solo se comprobó PHP de la CLI local. PHP web y otros pools pueden diferir. No se detectan parches del proveedor. Sin prueba de explotación.'
);
echo json_encode($report, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . PHP_EOL;

¿Necesitas una evaluación precisa?

Konrad Mayer te ayuda a revisar PHP web, los paquetes del proveedor y las aplicaciones afectadas, y a planificar los próximos pasos.

Solicitar un análisis detallado

Una vulnerabilidad. Una evaluación prudente.

Esta comprobación beta solo cubre GHSA-w8hw-w9fx-j79w (CVE-2026-109618). No es una auditoría completa. Las versiones desconocidas, ambiguas o preliminares nunca se consideran corregidas.

8.2.35 · 8.3.36 · 8.4.27 · 8.5.12

Reglas revisadas: · PHP Security Advisory