CVE-2026-116249
Reporte público de vulnerabilidad
BAJA Exploit público detectado CVSS 8.4 / HIGH CWE-22GTN Risk Score
Prioridad media
Score calculado con CVSS, EPSS, CISA KEV, evidencia pública de exploit y vector de ataque.
Resumen ejecutivo
Resumen ejecutivo
In server mode pgAdmin 4 resolves a server's password file, SSL certificate, key, CRL and SSH tunnel identity file relative to the user's storage directory, but get_complete_file_path() only stripped leading slashes before joining the two. A path such as "../<another user>/.pgpass", set through the server dialog, the REST API or a servers.json import, therefore named another user's file, and connecting used that user's saved passwords, client certificate or SSH key. The sslkeylogfile connection parameter was passed to libpq unchanged, so a path outside storage let libpq create or append a file as the account running pgAdmin. make_conninfo() also quoted connection parameter values but not their names, so a crafted parameter name could smuggle additional keyword=value pairs past these checks. The fix requires the resolved path, with symbolic links followed, to stay inside the user's storage directory or the named shared storage directory, confines sslkeylogfile the same way, and accepts only exact libpq keywords as connection parameter names. A refused path or keyword is reported instead of letting libpq fall back to a default. This issue affects pgAdmin 4: before 9.19. Resumen de riesgo: CVE-2026-116249 presenta CVSS 8.4, severidad ALTA, EPSS 0.18%, CISA KEV: No, exploit público detectado: Sí. Producto/proveedor asociado: No disponible / No disponible. Se recomienda validar exposición, revisar versiones afectadas, aplicar parche o mitigación disponible y monitorear actividad relacionada.
Indicadores
¿De qué se trata?
In server mode pgAdmin 4 resolves a server's password file, SSL certificate, key, CRL and SSH tunnel identity file relative to the user's storage directory, but get_complete_file_path() only stripped leading slashes before joining the two. A path such as "../<another user>/.pgpass", set through the server dialog, the REST API or a servers.json import, therefore named another user's file, and connecting used that user's saved passwords, client certificate or SSH key. The sslkeylogfile connection parameter was passed to libpq unchanged, so a path outside storage let libpq create or append a file as the account running pgAdmin. make_conninfo() also quoted connection parameter values but not their names, so a crafted parameter name could smuggle additional keyword=value pairs past these checks. The fix requires the resolved path, with symbolic links followed, to stay inside the user's storage directory or the named shared storage directory, confines sslkeylogfile the same way, and accepts only exact libpq keywords as connection parameter names. A refused path or keyword is reported instead of letting libpq fall back to a default. This issue affects pgAdmin 4: before 9.19.
Producto / proveedor
Fechas
Estado de explotación
Evidencia encontrada
| Fuente | Estado | Detalle | Confianza |
|---|---|---|---|
| NVD References | Referencia sospechosa/PoC | NVD contiene una referencia relacionada con PoC, exploit o repositorio público. | Media |
| NVD References | Referencia sospechosa/PoC | NVD contiene una referencia relacionada con PoC, exploit o repositorio público. | Media |
Nota: esta sección es referencial y defensiva. La ausencia de evidencia pública no garantiza que no exista explotación privada o no publicada.
¿Cómo superarlo / mitigarlo?
- Mantener monitoreo. La probabilidad actual de explotación es baja según EPSS.
- CVSS alto: evaluar impacto en servicios relevantes.
- Vector de red: revisar exposición pública, reglas de firewall, WAF/VPN y segmentación.