{"answers":{"affected":"It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-12049 in the wild and no public exploit code.","fix":"Upgrade to a fixed version.","what":"CVE-2026-12049 is a medium-severity vulnerability in pgadmin.org pgAdmin 4, published on 18 Jun 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2026-12049 and fix it if it is affected.\n\nWhat it is: CVE-2026-12049 is a medium-severity vulnerability in pgadmin.org pgAdmin 4, published on 18 Jun 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.\nExploitation: There is no known exploitation of CVE-2026-12049 in the wild and no public exploit code.\n\nAffected product: pgadmin.org pgAdmin 4. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-12049/ (Markdown: https://insights.sbomify.com/CVE-2026-12049/index.md)","id":"CVE-2026-12049","markdown":"https://insights.sbomify.com/CVE-2026-12049/index.md","name":"CVE-2026-12049","record":{"aliases":["GHSA-7r93-vp6c-cw5m"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"PostgreSQL management tool","requires_auth":"none","summary":"An open redirect in pgAdmin 4's MFA flow allows attackers to redirect authenticated users to external sites, facilitating credential phishing attacks.","user_interaction":"required","vuln_class":"open_redirect"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"PostgreSQL","cpe":[{"product":"pgadmin_4","vendor":"pgadmin"}],"cvss":{"score":5.3,"severity":"medium","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","version":"4.0"},"cwes":[{"id":"CWE-601","name":"URL Redirection to Untrusted Site"}],"description":"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=\u003cexternal\u003e -- a link typically delivered by phishing -- would be sent to an attacker-controlled host directly out of the trusted auth flow.\n\nThe 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.\n\nFix 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.\n\nThis issue affects pgAdmin 4: from 6.0 before 9.16.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"pgAdmin 4: Open redirect in multi-factor authentication flow via unvalidated 'next' parameter","id":"CVE-2026-12049","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"open_redirect","year":"2026"},"n_packages":0,"n_references":2,"next":{"headline":"pgAdmin 4: SQL injection in named restore point endpoint","id":"CVE-2026-12050"},"packages":[],"prev":{"headline":"pgAdmin 4: Stored XSS via untrusted error and plan-node text rendered through html-react-parser","id":"CVE-2026-12048"},"products":["pgAdmin 4"],"published":"2026-06-18","related":[{"cvss_score":9.9,"headline":"pgAdmin 4: Remote Code Execution in Query Tool and Cloud Deployment","id":"CVE-2025-2945","kev_date_added":null,"published":"2025-04-03"},{"cvss_score":9.9,"headline":"OAuth2 client id and secret exposed through the web browser in pgAdmin 4","id":"CVE-2024-9014","kev_date_added":null,"published":"2024-09-23"},{"cvss_score":9.5,"headline":"Deserialization in pgAdmin 4","id":"CVE-2026-12046","kev_date_added":null,"published":"2026-06-18"},{"cvss_score":9.4,"headline":"SQL injection in pgAdmin 4","id":"CVE-2026-17351","kev_date_added":null,"published":"2026-07-31"},{"cvss_score":9.4,"headline":"Command injection in pgAdmin 4","id":"CVE-2026-17566","kev_date_added":null,"published":"2026-07-31"},{"cvss_score":9.4,"headline":"pgAdmin 4: AI Assistant read-only transaction bypass allows unauthorised writes and remote code execution","id":"CVE-2026-12045","kev_date_added":null,"published":"2026-06-18"},{"cvss_score":9.4,"headline":"pgAdmin 4: Cross-user data access and shared-server privilege escalation in server mode","id":"CVE-2026-7813","kev_date_added":null,"published":"2026-05-11"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-06-22","vendors":["pgadmin.org"]},"summary":"An open redirect in pgAdmin 4's MFA flow allows attackers to redirect authenticated users to external sites, facilitating credential phishing attacks.","url":"https://insights.sbomify.com/CVE-2026-12049/"}