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

Inclusión de archivos en PHP (LFI/RFI): qué es y cómo corregirla

include y require ejecutan cualquier archivo que reciban. Si parte de la ruta viene de la petición, el visitante decide qué se ejecuta.

Última actualización

Qué es

La inclusión local (LFI) hace que include o require apunten a archivos ya presentes en el servidor, como configuraciones o registros; combinada con una subida o una línea de registro puede convertirse en ejecución de código. La inclusión remota (RFI) carga código desde otro servidor y solo funciona con allow_url_include activado, que según php.net está desactivado por defecto. MITRE la clasifica como CWE-98.

Cómo detectarlo

Cómo corregirlo

Comprobaciones de solo lectura y patrones seguros

# Find include/require with a variable path (read-only)
grep -rnE "(include|require)(_once)?\s*\(?\s*\$" --include=*.php . | grep -v /vendor/
php -i | grep -E "allow_url_include|allow_url_fopen|open_basedir"

; php.ini hardening
allow_url_include = Off
open_basedir = /var/www/example:/tmp

// Map user choices to fixed files instead of building paths
$pages = ['home' => 'home.php', 'about' => 'about.php'];
require __DIR__ . '/pages/' . ($pages[$_GET['p'] ?? 'home'] ?? 'home.php');

¿basename() hace seguro un include?

Elimina los directorios, pero deja elegir cualquier archivo de ese directorio. Una lista explícita de permitidos es más segura.

¿La RFI sigue siendo un riesgo en PHP moderno?

Solo si se activó allow_url_include. La LFI sigue siendo común porque no necesita ningún ajuste especial.

Otras clases de vulnerabilidades PHP

Fuentes

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

  1. CWE-98: PHP Remote File Inclusion — MITRE CWE
  2. Testing for Local File Inclusion — OWASP Web Security Testing Guide
  3. Filesystem runtime configuration (allow_url_fopen, allow_url_include) — PHP Manual
  4. Core php.ini directives (open_basedir, expose_php) — PHP Manual