Los mantenedores de PHP han solucionado tres vulnerabilidades de seguridad en sus últimas versiones de mantenimiento, incluyendo fallos de alta gravedad que exponen a las aplicaciones web a ataques de Inyección SQL, escritura de datos fuera de los límites de la memoria (corrupción) y Denegación de Servicio (DoS). Estos fallos afectan a extensiones opcionales ampliamente utilizadas: ext-pgsql, ext-bcmath y ext-phar.
Veredicto Analítico
- Estado: Parches oficiales disponibles en las nuevas versiones de mantenimiento de PHP.
- Confianza: Absoluta. Validado mediante las notas de lanzamiento de los mantenedores del núcleo de PHP.
- Riesgo para SOC, TDIR y Redes: Alto. Si una aplicación web interactúa con bases de datos PostgreSQL utilizando las funciones auxiliares de PHP afectadas o procesa archivos subidos no confiables, un atacante remoto podría extraer datos críticos, corromper la memoria del servidor para lograr la ejecución de código o colapsar el servicio.
- Urgencia Operativa: Alta. Es necesario programar ventanas de mantenimiento para actualizar los servidores de aplicaciones PHP, especialmente si manejan datos de entrada de usuarios no confiables.
- Base del Veredicto: Existencia de fallos lógicos en la limpieza de cadenas de PostgreSQL, errores de cálculo en punteros de memoria de BCMath y ausencia de límites de recursividad al evaluar enlaces simbólicos en Phar.
Hallazgos Clave
- Vulnerabilidad Crítica (CVE-2026-17543): Inyección SQL en la extensión de PostgreSQL (ext-pgsql).
- Vulnerabilidad Alta (CVE-2026-17544): Escritura fuera de límites (OOB) en la extensión BCMath (ext-bcmath).
- Vulnerabilidad Media (CVE-2026-7260 – CVSS 6.5): Denegación de servicio (DoS) en la extensión Phar (ext-phar).
- Versiones Seguras (Parcheadas): PHP 8.2.33, 8.3.33, 8.4.24 y 8.5.9.
Análisis Técnico: Vectores de Ataque
Las tres vulnerabilidades presentan riesgos de explotación distintos dependiendo de la arquitectura de la aplicación web:
- Inyección SQL (PostgreSQL): La vulnerabilidad en php_pgsql_convert() afecta a funciones como pg_insert(), pg_update(), pg_select() y pg_delete(). El código vulnerable formatea las cadenas con E’…’. Cuando la configuración standard_conforming_strings de PostgreSQL está habilitada (por defecto desde v9.1), las barras invertidas no se escapan de forma segura, permitiendo a un atacante inyectar comandos SQL para extraer o modificar la base de datos.
- Corrupción de Memoria (BCMath): Al usar la función bccomp() y pasar cadenas numéricas controladas por el atacante, la función interna bc_str2num() trunca dígitos, reduce el tamaño del búfer, pero olvida actualizar el puntero que define el final de los datos. Esto provoca una escritura fuera de los límites, corrompiendo la memoria (pila o heap) y potencialmente permitiendo escaladas a ejecución de código.
- Bloqueo de Procesos (Phar): La función phar_get_link_source() no establece un límite de profundidad de recursión al evaluar enlaces simbólicos en archivos Phar basados en .tar. Un atacante que suba un archivo diseñado con enlaces circulares puede provocar un error de segmentación (segfault) y colapsar el proceso de PHP (DoS).
Tácticas, Técnicas y Procedimientos (MITRE ATT&CK)
- Acceso Inicial: Explotación de Aplicaciones Expuestas al Público (Exploit Public-Facing Application – T1190) mediante la inyección de cargas útiles (SQL o archivos maliciosos).
- Ejecución / Impacto: Explotación de Vulnerabilidad para Ejecución de Código (T1203) a través de corrupción de memoria OOB.
- Impacto: Denegación de Servicio de Endpoint (Endpoint Denial of Service – T1499) colapsando los procesos de trabajo de PHP mediante recursión infinita.
Recomendaciones Operativas
Para Desarrollo, Arquitectura y TI (Acción Prioritaria)
- Actualización Inmediata: Desplegar PHP 8.2.33, 8.3.33, 8.4.24 o 8.5.9 (según la rama utilizada) en todos los entornos de producción.
- Revisión de Código (AppSec):
- Auditar aplicaciones que dependan de las funciones auxiliares de PostgreSQL (pg_insert, pg_select, etc.) y asegurarse de usar consultas parametrizadas (Prepared Statements) siempre que sea posible, en lugar de depender únicamente de las funciones de escape integradas.
- Revisar los flujos de trabajo de carga y descompresión de archivos para asegurar que los archivos .tar o .phar de fuentes no confiables no sean analizados automáticamente sin el parche aplicado.
Para el Centro de Operaciones de Seguridad (SOC)
- Monitoreo de Estabilidad de Servicios: Configurar alertas en el APM (Application Performance Monitoring) o SIEM para detectar picos inusuales de errores 502/503 o reinicios constantes de los procesos php-fpm o de Apache/Nginx, lo cual indicaría un intento de explotación de las vulnerabilidades Phar o BCMath.
- Monitoreo de WAF: Revisar los registros del Firewall de Aplicaciones Web para identificar intentos de inyección SQL que intenten evadir filtros estándar mediante el abuso del formato de escape E’…’.




