Las fallas, ya corregidas, permiten inyecciones SQL y ataques de denegación de servicio en versiones anteriores a PHP 8.4.10
El proyecto PHP ha lanzado actualizaciones de seguridad para corregir dos vulnerabilidades críticas que afectan directamente a aplicaciones basadas en este lenguaje, especialmente aquellas que utilizan la extensión de PostgreSQL (pgsql) y servicios web SOAP. Las fallas, registradas como CVE-2025-1735 y CVE-2025-6491, permiten desde inyecciones SQL hasta caídas completas del sistema por desreferencias de punteros nulos.
Ambas vulnerabilidades han sido subsanadas en las versiones PHP 8.1.33, 8.2.29, 8.3.23 y 8.4.10. Se recomienda a todos los desarrolladores y administradores de sistemas actualizar sus entornos lo antes posible para evitar riesgos de explotación activa.
CVE-2025-1735: error en el manejo de errores en pgsql
facilita ataques SQLi y fallos de memoria
El primer fallo detectado afecta a la extensión pgsql
de PHP. La vulnerabilidad surge por una falta de verificación de errores al utilizar funciones como PQescapeStringConn()
y PQescapeIdentifier()
de PostgreSQL.
En concreto, PHP no pasa correctamente el parámetro de error a PQescapeStringConn()
, lo que impide a la función advertir si se ha producido un error durante el escape de una cadena. Esto puede conducir a una inyección SQL si se escapan mal los datos, o incluso a fallos por punteros nulos (crash) si las funciones devuelven valores no verificados.
Según la advertencia oficial, “varias llamadas a PQescapeIdentifier()
no comprueban si el valor retornado es NULL, lo cual puede provocar comportamientos indefinidos o caídas del proceso”.
Aunque PostgreSQL incluye medidas de protección para estos casos, la omisión en la capa de PHP genera una ventana de vulnerabilidad que puede ser explotada si la entrada no es debidamente sanitizada.
CVE-2025-6491: desreferencia de puntero nulo en SOAP ante prefijos XML gigantes
La segunda vulnerabilidad fue descubierta por Ahmed Lekssays, del Qatar Computing Research Institute, y afecta al procesamiento de nombres XML en servicios SOAP cuando el prefijo supera los 2 GB de tamaño.
Un script PHP malicioso que emplea str_repeat("A", 0x7fffffff)
puede provocar que la función interna xmlBuildQName()
falle silenciosamente, dejando el nodo XML en un estado inválido. Esto deriva en una desreferencia de puntero nulo durante la serialización posterior, resultando en una caída del proceso (DoS).
Esta vulnerabilidad tiene especial impacto en entornos donde se expone una API SOAP a entradas externas, como servicios web que aceptan peticiones XML sin restricciones.
El fallo ha sido confirmado mediante herramientas como Valgrind, que han detectado accesos inválidos a memoria tras ejecutar el script en entornos vulnerables.
Actualizar, la mejor defensa
Ambas vulnerabilidades han sido corregidas oficialmente en las siguientes versiones:
- PHP 8.1.33
- PHP 8.2.29
- PHP 8.3.23
- PHP 8.4.10
Se insta a los responsables de sistemas y desarrolladores a comprobar la versión de PHP en sus servidores y aplicar las actualizaciones de inmediato, especialmente si utilizan extensiones como pgsql
o SOAP
.
Contexto: seguridad y complejidad en entornos PHP
El lenguaje PHP, ampliamente utilizado en millones de sitios web y aplicaciones en todo el mundo, sigue siendo una tecnología clave pero también una de las más expuestas a vulnerabilidades críticas. Según el informe Tendencias de Ciberseguridad 2025 de KPMG, “el ecosistema PHP, a pesar de su madurez, sigue presentando desafíos importantes en el control de errores y la validación de entradas, lo que lo convierte en objetivo habitual de ataques automatizados”.
Estas dos vulnerabilidades son un recordatorio de que la seguridad en el desarrollo no es solo cuestión de código limpio, sino de una correcta gestión de errores, verificación de retornos y sanitización de datos externos.
Recomendación final:
Auditar las dependencias PHP, aplicar las versiones corregidas y monitorizar los registros de errores es fundamental para evitar incidentes. En entornos donde se acepten datos de usuarios —especialmente con bases de datos o servicios web expuestos—, es esencial combinar las actualizaciones con medidas adicionales como WAF, validación estricta de entradas y sistemas de detección de intrusiones.
fuente: cybersecuritynews