No es php.net · No es NVD · No es CISA

Seguimiento de vulnerabilidades PHP

Informe no oficial sobre vulnerabilidades de seguridad en PHP

English简体中文日本語DeutschFrançaisNederlandsEspañol

Alerta de seguridad

PHP2Shell: actualice PHP. Es la única solución completa.

CVE-2026-109618 y CVE-2026-109619 son vulnerabilidades críticas en el propio PHP que permiten ejecución remota de código sin autenticación. El proyecto PHP publicó correcciones el 21 de octubre de 2026 para las ramas con soporte 8.2 a 8.5. Reinicie PHP después de actualizar. Un cortafuegos no es un sustituto.

Pasos para corregir

Seguridad PHP explicada · defensivo

Inyección de objetos PHP: qué es y cómo corregirla

Pasar datos controlados por el usuario a unserialize() permite al atacante elegir qué objetos crea PHP. El manual de PHP advierte justamente contra eso.

Última actualización

Qué es

Al deserializar una cadena, PHP recrea los objetos descritos y puede llamar a métodos mágicos como __wakeup() y __destruct(). Si la cadena viene de una cookie, un formulario o una petición API, el atacante puede elegir clases ya cargadas por la aplicación o sus bibliotecas y encadenar sus métodos hasta escribir archivos o ejecutar código. MITRE la clasifica como CWE-502.

Cómo detectarlo

Cómo corregirlo

Comprobaciones de solo lectura y patrones seguros

# Find unserialize() calls that may receive request data (read-only)
grep -rnE "unserialize\s*\(" --include=*.php . | grep -vE "/vendor/|/tests?/"

// Safer: exchange data as JSON
$data = json_decode($input, true, 512, JSON_THROW_ON_ERROR);

// If unserialize() is unavoidable for trusted data, forbid objects
$data = unserialize($trusted, ['allowed_classes' => false]);

¿Basta con allowed_classes => false?

Bloquea la creación de objetos, el riesgo principal, pero el manual de PHP sigue desaconsejando deserializar entradas no confiables. JSON es la opción segura por defecto.

¿Tiene relación con PHP2Shell?

No. PHP2Shell es un fallo del motor PHP; la inyección de objetos es un fallo del código de la aplicación y existe incluso con PHP totalmente parcheado.

Otras clases de vulnerabilidades PHP

Fuentes

Los enlaces externos salen de este sitio. No alojamos código de explotación.

  1. unserialize() — PHP Manual
  2. json_decode() — PHP Manual
  3. PHP Object Injection — OWASP
  4. CWE-502: Deserialization of Untrusted Data — MITRE CWE