# PostgreSQL JDBC: un servidor malicioso puede tumbar al cliente vía SCRAM (CVE-2026-42198)

- **Publicado el:** 2026-06-08
- **Categoría:** Seguridad
- **Página original:** https://linuxgratis.com/articulos/rhsa-2026-24348-postgresql-jdbc-scram-dos-cliente-rhel

Red Hat corrige en RHEL 10 una denegación de servicio en el driver PostgreSQL JDBC: un servidor hostil fuerza un cálculo PBKDF2 desbocado durante la autenticación SCRAM-SHA-256. CVSS 7.5.

---

Lo habitual cuando hablamos de denegación de servicio es pensar en el servidor cayendo bajo una avalancha de peticiones. Aquí pasa lo contrario: es el **cliente** el que se queda colgado, y quien le hace daño es el propio servidor PostgreSQL al que intenta conectarse. Red Hat lo ha corregido en RHEL 10 con la actualización **RHSA-2026:24348**, clasificada como *Important*.

## Qué falla exactamente

El problema está en **pgjdbc**, el driver JDBC oficial de PostgreSQL, y tiene asignado **CVE-2026-42198**. El fallo aparece durante la autenticación **SCRAM-SHA-256**, el método por defecto en las versiones modernas de PostgreSQL.

SCRAM usa PBKDF2 para derivar la contraseña, y el número de iteraciones de esa función lo dicta el servidor dentro del intercambio de autenticación. El driver lo aceptaba sin ningún límite superior. Un servidor controlado por un atacante puede anunciar un número de iteraciones gigantesco, y el cliente se pone a calcular PBKDF2 hasta que ese número se agota, antes incluso de poder rechazar la conexión.

Una sola conexión así monopoliza un núcleo de CPU al 100 %. Si lanzas varias en paralelo, agotas los núcleos disponibles y dejas el pool de conexiones inutilizable. El parámetro `loginTimeout` no salva la situación: el hilo de trabajo sigue ejecutando el cálculo de PBKDF2 aunque el timeout haya vencido, así que la CPU sigue ocupada.

El identificador de debilidad es **CWE-770** (asignación de recursos sin límite ni control). La puntuación es **CVSS 7.5** (vector `AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H`): el impacto es solo de disponibilidad, sin compromiso de confidencialidad ni integridad.

## A quién afecta

A cualquier aplicación Java que se conecte a PostgreSQL con pgjdbc y use SCRAM-SHA-256. Las versiones vulnerables van de la **42.2.0 a la 42.7.10**, corregidas en la **42.7.11** upstream.

El matiz importante es el modelo de amenaza. Para que esto te afecte, el cliente tiene que conectarse a un servidor que un atacante controle o haya comprometido, o estar expuesto a un servidor suplantado por un intermediario. No es un fallo que cualquiera explote contra ti desde fuera sin más; requiere que dirijas tu driver hacia un endpoint hostil. Aun así, en entornos donde las cadenas de conexión llegan desde configuración externa, multitenencia o servicios de terceros, el riesgo es real.

## Cómo protegerte

En RHEL 10 basta con aplicar la actualización: Red Hat empaqueta la corrección en **postgresql-jdbc 42.7.2-1.el10_2.2**.

```bash
sudo dnf update postgresql-jdbc
```

Si gestionas la dependencia directamente en tu proyecto Java (Maven, Gradle), sube el driver a **42.7.11** o posterior. Reinicia las aplicaciones para que el cambio surta efecto, ya que el driver se carga en el arranque de la JVM.

Como medida de fondo, revisa hacia dónde apuntan tus cadenas de conexión y desconfía de servidores PostgreSQL que no controles. Mientras no puedas parchear, limitar la conectividad de salida a hosts de base de datos conocidos reduce la exposición.

Si administras RHEL, este aviso encaja con el resto del lote de seguridad de Red Hat de principios de junio; tienes el contexto de la versión en nuestra ficha de [Red Hat Enterprise Linux 10.2](/rhel-10-2).

## Fuente

- Red Hat – [RHSA-2026:24348](https://access.redhat.com/errata/RHSA-2026:24348)
- NVD – [CVE-2026-42198](https://nvd.nist.gov/vuln/detail/CVE-2026-42198)
