剣 KENSAI
← Volver al blog de seguridad
Informe de seguridad 7 min de lectura

La vulnerabilidad crítica de PostgreSQL CVE-2025-1094 permite la ejecución remota de código

Un fallo crítico de inyección SQL en libpq de PostgreSQL permite a los atacantes lograr la ejecución remota de código. CVSS 8.1 — todas las versiones anteriores a 17.3, 16.7, 15.11, 14.16 y 13.19.


Resumen ejecutivo

Se ha descubierto una vulnerabilidad crítica identificada como CVE-2025-1094 en la biblioteca libpq de PostgreSQL, que afecta a la forma en que las consultas SQL gestionan el escapado de cadenas. El fallo permite a un atacante inyectar comandos SQL arbitrarios y, en determinadas configuraciones, lograr la ejecución remota de código (RCE) en el servidor de base de datos.

⚠️ CVE-2025-1094 — CVSS 8.1 (Alta)

Tipo: Inyección SQL por comillas incorrectas en funciones de libpq

Impacto: Ejecución remota de código, exfiltración de datos, escalada de privilegios

Afectados: PostgreSQL < 17.3, < 16.7, < 15.11, < 14.16, < 13.19


Análisis técnico

La causa raíz

La vulnerabilidad reside en las funciones libpq de PostgreSQL — en concreto PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), y PQescapeStringConn(). Estas funciones se encargan de escapar la entrada proporcionada por el usuario antes de incrustarla en las consultas SQL.

El fallo surge del tratamiento incorrecto de secuencias de bytes UTF-8 no válidas. Cuando se pasa a estas funciones de escapado una cadena especialmente diseñada que contiene UTF-8 malformado, la lógica de entrecomillado puede eludirse, lo que permite a un atacante escapar del contexto de la cadena.

Vía de explotación

  1. Punto de entrada: Cualquier aplicación que use libpq, acepte entrada del usuario y la pase por las funciones de escapado
  2. Elusión: El atacante envía una carga diseñada con secuencias UTF-8 no válidas que confunden la lógica de escapado
  3. Inyección: La entrada malformada rompe el límite de la cadena SQL y permite ejecutar SQL arbitrario
  4. RCE: Mediante COPY TO/FROM PROGRAM de PostgreSQL o la creación de funciones personalizadas, el atacante puede ejecutar comandos del sistema operativo

Prueba de concepto

Investigadores de Rapid7 demostraron que esta vulnerabilidad puede encadenarse con BeyondTrust Remote Support CVE-2024-12356 para lograr RCE sin autenticación.


Evaluación del impacto

FactorCalificaciónDetalles
Puntuación CVSS8.1 (Alta)Accesible por red, sin autenticación en algunas configuraciones
ExplotabilidadAltoPoC disponible, explotación activa confirmada
Instalaciones afectadasEnormePostgreSQL sustenta ~35% de las bases de datos empresariales del mundo
Riesgo para los datosCríticoLectura/escritura completa de la base de datos, posible acceso al sistema operativo

Pasos de remediación

  1. Aplique el parche de inmediato: Actualice a PostgreSQL 17.3, 16.7, 15.11, 14.16 o 13.19
  2. Audite las aplicaciones: Busque usos de PQescapeLiteral, PQescapeIdentifier, y funciones relacionadas
  3. Use consultas parametrizadas: Prefiera PQexecParams() frente a la concatenación de cadenas con escapado
  4. Segmentación de red: Asegúrese de que PostgreSQL no esté expuesto directamente a internet
  5. Vigile la explotación: Esté atento a usos inusuales de COPY PROGRAM en los registros de consultas

Proteja su organización con Kensai

Gestión de vulnerabilidades con IA y más de 331.910 CVE indexados.

Iniciar prueba gratuita

Manténgase seguro. Manténgase alerta.

🗡️ Equipo de seguridad de KENSAI

🛡️ ¿Es seguro su sitio web?

Descubra vulnerabilidades antes que los atacantes.

Analice su sitio web gratis →

📚 Artículos relacionados