Productos FTTH

Tienda FFTH desde 2004

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Errores críticos en PHP PDO exponen riesgos de inyección SQL en Firebird y DoS en PostgreSQL


Se han descubierto dos fallos críticos en la capa del controlador de base de datos de PHP, específicamente dentro de PHP Data Objects (PDO). Estas vulnerabilidades, presentes en los controladores para Firebird y PostgreSQL, permiten que atacantes evadan las medidas de seguridad para introducir datos maliciosos, exponiendo el sistema a riesgos de inyección de SQL en Firebird y ataques de denegación de servicio (DoS) en PostgreSQL.



Un par de fallos recién revelados en la capa del controlador de base de datos de PHP demuestra que incluso el código maduro puede esconder sorpresas peligrosas.

Los errores residen dentro de PHP Data Objects (PDO), la capa de abstracción que utilizan las aplicaciones web para comunicarse con bases de datos como Firebird y PostgreSQL. Peculiaridades de bajo nivel en estos controladores permiten que los atacantes introduzcan datos maliciosos superando las defensas seguras.

El primer problema afecta al controlador pdo_firebird y abre la puerta a la inyección SQL a través de bytes NUL ocultos dentro de cadenas correctamente citadas.

El segundo fallo afecta a pdo_pgsql, el controlador de PostgreSQL de PHP, y puede hacer que el proceso de una aplicación se bloquee, provocando una denegación de servicio. Ambos errores pasaron desapercibidos porque la capa del controlador confiaba en suposiciones sobre el manejo de cadenas en C que no siempre se cumplen.

Los investigadores Aleksey Solovev y Nikita Sveshnikov de PT Swarm identificaron ambos problemas durante una auditoría de PDO y sus controladores de soporte.

Su revisión fue más allá del propio código base de PHP, llegando a las librerías de clientes de terceros de las que depende PDO, descubriendo debilidades que habían pasado inadvertidas durante años.

PT Swarm afirmó en un informe que los fallos demuestran que la seguridad de la base de datos en PHP depende tanto de los internos del controlador como del código de la aplicación.

El impacto es significativo porque Firebird y PostgreSQL se utilizan ampliamente en producción, desde herramientas internas hasta plataformas de comercio electrónico. Una inyección SQL exitosa podría exponer registros confidenciales o eludir la autenticación por completo.

El error de denegación de servicio puede activarse enviando una entrada malformada, bloqueando un proceso trabajador de PHP a mitad de una transacción y dejando las bases de datos inconsistentes.

Errores Críticos del Controlador PHP PDO

La primera vulnerabilidad, rastreada como CVE-2026-25289 y calificada de severidad Alta, se centra en cómo el controlador pdo_firebird reconstruye las sentencias SQL después de haber sido citadas de forma segura.

Los desarrolladores suelen asumir que llamar a PDO::quote antes de PDO::prepare es intrínsecamente seguro, pero esta investigación muestra que este patrón puede ser engañoso. El paso de citación funciona bien, pero una etapa de preprocesamiento posterior rompe silenciosamente los límites de la cadena previstos.

La causa raíz se remonta al uso por parte del controlador de la función de C strncat, que deja de copiar datos en el momento en que encuentra un byte NUL, ignorando la longitud de bytes que se le indicó copiar.

Overall architecture of DBMS access in PHP (Source - PT Swarm)
Arquitectura general del acceso DBMS en PHP (Fuente – PT Swarm)

Si un valor citado contiene un byte NUL, la cita de cierre se pierde durante la reconstrucción y los datos controlados por el atacante se filtran hacia el SQL ejecutable.

En la prueba de concepto, esto permitió una inyección basada en UNION que revelaba detalles internos de la versión de la base de datos que nunca deberían haber sido visibles.

Los mantenedores de PHP corrigieron el problema en un lanzamiento de seguridad rutinario, reescribiendo la lógica de reconstrucción token por token del controlador Firebird para utilizar un método seguro para binarios en lugar del enfoque inseguro terminado en NUL.

Los operadores que ejecuten versiones antiguas y sin parches siguen expuestos hasta que actualicen.

Bloqueo por Puntero Nulo en el Controlador PostgreSQL

El segundo fallo, CVE-2026-25290, calificado como Moderado con una puntuación CVSS de alrededor de 7.3, afecta al controlador pdo_pgsql cuando las sentencias preparadas emuladas están habilitadas explícitamente.

Bajo esta configuración, si un parámetro contiene una secuencia de caracteres multibyte inválida para la codificación de la conexión activa, libpq falla silenciosamente y devuelve una cadena escapada NULL.

El analizador de PDO intenta entonces leer la longitud de ese valor NULL, provocando una desreferencia de puntero nulo y un fallo de segmentación inmediato.

Esto es más que un inconveniente. En un escenario modelado por PT Swarm, un script de pago de comercio electrónico procesó un pago, debitó el saldo de un cliente y luego se bloqueó al insertar el registro del pedido, ya que se había introducido una secuencia de bytes malformada en un campo de notas.

PHP worker process (Source - PT Swarm)
Proceso trabajador de PHP (Fuente – PT Swarm)

Al cliente se le cobró sin que se creara ningún pedido, dañando silenciosamente la confianza y la precisión financiera.

La corrección, lanzada en la misma actualización coordinada, asegura que el controlador verifique si hay un valor escapado NULL antes de desreferenciarlo, convirtiendo un bloqueo fatal en un error de aplicación capturable. Se recomienda encarecidamente a los desarrolladores que actualicen PHP en todas las ramas soportadas.

Los investigadores también recomiendan tratar las entradas binarias como no confiables, evitar los modos de preparación emulados cuando no sean necesarios y envolver los flujos de trabajo financieros dentro de transacciones atómicas en lugar de confiar en el comportamiento de autocommit predeterminado.

Estos hallazgos nos recuerdan que la seguridad de las aplicaciones web depende no solo del código que escriben los desarrolladores, sino también del tiempo de ejecución y las librerías nativas que están debajo.



Fuentes:
https://cybersecuritynews.com/critical-php-pdo-driver-bugs-expose-firebird-sql-injection/


0 comments :

Post a Comment

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.