CVE-2026-12049

Open redirect in pgAdmin 4's multi-factor authentication flow. The MFA validate and register endpoints honoured the user-supplied 'next' query/form parameter without confirming the target pointed back inside pgAdmin, so an authenticated victim who clicked /mfa/validate?next=<external> -- a link typically delivered by phishing -- would be sent to an attacker-controlled host directly out of the trusted auth flow. The defect is a trusted-domain redirect, not a privilege bypass: the attacker gains no read/write access to pgAdmin or the victim's database, but the redirect launders the attacker's destination through pgAdmin's URL, which raises the success rate of credential-phishing follow-on against the victim. Fix introduces a same-origin _is_safe_redirect_url helper and gates every MFA redirect that consumes user-supplied 'next' values through it. The helper allows only relative paths and absolute URLs whose scheme is http(s) and whose host matches the current request host; it rejects external hosts in absolute and protocol-relative form, non-http schemes (javascript:, data:, mailto:), userinfo tricks (http://localhost@attacker/), and backslash variants that some browsers normalize to forward slashes. Unsafe targets fall back to the internal browser index. A dedicated regression test exercises each accept/reject category and the original reporter PoC. This issue affects pgAdmin 4: from 6.0 before 9.16.
Configurations

Configuration 1 (hide)

cpe:2.3:a:pgadmin:pgadmin_4:*:*:*:*:*:postgresql:*:*

History

26 Oct 2026, 11:10

Type Values Removed Values Added
Summary
  • (es) Redirección abierta en el flujo de autenticación multifactor de pgAdmin 4. Los endpoints de validación y registro de MFA respetaban el parámetro de consulta/formulario ’next’ proporcionado por el usuario sin confirmar que el objetivo apuntaba de nuevo dentro de pgAdmin, por lo que una víctima autenticada que hiciera clic en /mfa/validate?next=[external] -- un enlace típicamente entregado por phishing -- sería enviada a un host controlado por un atacante directamente fuera del flujo de autenticación de confianza. El defecto es una redirección de dominio de confianza, no un bypass de privilegios: el atacante no obtiene acceso de lectura/escritura a pgAdmin o a la base de datos de la víctima, pero la redirección ’lava’ el destino del atacante a través de la URL de pgAdmin, lo que aumenta la tasa de éxito del phishing de credenciales posterior contra la víctima. La corrección introduce una función auxiliar _is_safe_redirect_url de mismo origen y filtra cada redirección de MFA que consume valores ’next’ proporcionados por el usuario a través de ella. La función auxiliar permite solo rutas relativas y URLs absolutas cuyo esquema es HTTP(s) y cuyo host coincide con el host de la solicitud actual; rechaza hosts externos en forma absoluta y relativa al protocolo, esquemas no-HTTP (javascript_disabled: , data:, mailto:), trucos de información de usuario (http://localhost@attacker/) y variantes de barra invertida que algunos navegadores normalizan a barras diagonales. Los objetivos inseguros recurren al índice interno del navegador. Una prueba de regresión dedicada ejercita cada categoría de aceptación/rechazo y la PoC del reportero original. Este problema afecta a pgAdmin 4: desde la versión 6.0 hasta antes de la 9.16.

Information

Published : 2026-06-19 00:16

Updated : 2026-10-26 11:10


NVD link : CVE-2026-12049

Mitre link : CVE-2026-12049

CVE.ORG link : CVE-2026-12049


JSON object : View

Products Affected

pgadmin

  • pgadmin_4
CWE
CWE-601

URL Redirection to Untrusted Site ('Open Redirect')