CVE-2026-120058 Desbordamiento de la caché de filas de psqlODBC cuando un FETCH posterior cambia la cantidad de columnas
psqlODBC dimensiona su caché de filas según la cantidad de columnas del primer resultado, pero recalcula la cantidad en cada FETCH posterior sin verificar que coincida. Un servidor no confiable según la configuración SSL actual puede responder con más columnas y provocar escrituras fuera del heap; una respuesta keyset con menos columnas que los campos clave también desborda el contador. Se alcanza con UseDeclareFetch habilitado. Afecta a versiones anteriores a psqlODBC 18.00.0006.
CVSS 3.1
- Probabilidad de explotación · EPSS del 09/110,3 % · percentil 17
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
PostgreSQL psqlODBC
hasta antes de 18.00.0006
Qué hacer
- Verificá si usás psqlODBC y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 7.5 ALTA
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
- Vector de ataqueRed
- Complejidad del ataqueAlta
- Privilegios requeridosNinguno
- Interacción del usuarioRequerida
- AlcanceSin cambio
- ConfidencialidadAlta
- IntegridadAlta
- DisponibilidadAlta
Descripción original
psqlODBC sizes its row cache from the column count of a cursor's first result, but recomputes the column count from each later FETCH reply without checking that it matches. A server not trusted under current SSL settings can answer a later FETCH with more columns and make the driver write tuple records past the end of the heap allocation. A keyset reply with fewer columns than the key fields also underflows the unsigned field count. This is reachable with UseDeclareFetch enabled. Versions before psqlODBC 18.00.0006 are affected.
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.