CVE-2026-17347

HIGHPre-NVD 7.57.5
EchelonGraph scoreHIGH confidence

Score 7.5 from GitHub Security Advisory (severity: HIGH) published 2026-07-31. a secondary CVSS source baseline 7.5; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: ghsa, secondary
Trending — 3 sources updated this week
7.5EG
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: CVSS: 7.5Exploit: None knownExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

The MASTER_PASSWORD_HOOK setting, introduced in pgAdmin 4 7.2, lets an administrator configure an external command that returns a per-user encryption key, with %u in the configured string replaced by the current user's name. The previous implementation substituted the username directly into the command string and executed the result with subprocess.Popen(..., shell=True). Because the username can originate from an external authentication source (OAuth/OIDC claims, Kerberos, webserver auth) rather than a value pgAdmin fully controls, a username containing shell metacharacters (';', '$()', backticks, pipes, '&&', newlines) allowed an authenticated user to execute arbitrary commands as the pgAdmin service account in any deployment where the configured hook string uses %u.

Fix tokenises the trusted, administrator-configured hook string into an argument vector first (using shlex in POSIX-quoting mode, with backslash-escaping disabled so Windows-style paths are not mis-parsed), substitutes the untrusted username into the individual argv elements, and executes with shell=False. The username is therefore always confined to a single argv element; any shell metacharacters it contains are inert. Administrators whose MASTER_PASSWORD_HOOK previously relied on shell features (pipes, redirection, environment-variable expansion, globbing) within the hook string itself must move that logic into the invoked script, since it is no longer interpreted by a shell.

This issue affects pgAdmin 4: from 7.2 before 9.17.

CVSS v3
7.5
EG Score
7.5(high)
EG Risk
34(Track)
EG Risk 34/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity75% × 45%
Exploitation0% × 40%
Automatability0% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
EPSS %ILE
KEV
Not listed

Published

July 31, 2026

Last Modified

August 1, 2026

Advisory Details (3)

Auto-updated Jul 31, 2026
Upstream fix merged — awaiting tagged release. Sources: github_commit.
generic

OS command injection in MASTER_PASSWORD_HOOK via untrusted username substitution (CVE-2026-17347) · Issue #10191 · pgadmin-org/pgadmin4 · GitHub

https://github.com/pgadmin-org/pgadmin4/issues/10191
github_commit

commit ea7e798aac27 (pgadmin-org/pgadmin4)

Fix landed in pgadmin-org/pgadmin4 commit ea7e798aac27 — awaiting tagged release

https://github.com/pgadmin-org/pgadmin4/commit/ea7e798aac27174d2bacee1d6e136bed76a95e23
github_commit

commit e7a85767314e (pgadmin-org/pgadmin4)

Fix landed in pgadmin-org/pgadmin4 commit e7a85767314e — awaiting tagged release

https://github.com/pgadmin-org/pgadmin4/commit/e7a85767314e7b0fe0b35fe80b9c1af38f48dff6

Vendor Advisories for CVE-2026-17347(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Weakness Classification(2)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 8× in last 7d / 8× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-08-01 05:31 UTCEG score recompute
  2. 2026-08-01 05:31 UTCGHSA enrichment
  3. 2026-08-01 04:48 UTCEG score recompute
  4. 2026-08-01 04:48 UTCGHSA enrichment
  5. 2026-07-31 18:19 UTCEG score recompute
  6. 2026-07-31 17:34 UTCEG score recompute
  7. 2026-07-31 16:21 UTCEG score recompute
  8. 2026-07-31 16:18 UTCMITRE cvelistV5first tracked

Frequently asked(4)

What is CVE-2026-17347?
CVE-2026-17347 is a high vulnerability published on July 31, 2026. The MASTERPASSWORDHOOK setting, introduced in pgAdmin 4 7.2, lets an administrator configure an external command that returns a per-user encryption key, with %u in the configured string replaced by the current user's name. The previous implementation substituted the username directly into the…
When was CVE-2026-17347 disclosed?
CVE-2026-17347 was first published in the National Vulnerability Database on July 31, 2026, with the most recent update on August 1, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
What is the CVSS score of CVE-2026-17347?
CVE-2026-17347 has a CVSS v3 base score of 7.5 (NVD).
How do I remediate CVE-2026-17347?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-17347, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2026-17347

Explore →

Is Your Infrastructure Affected by CVE-2026-17347?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.