CVE-2022-4223 — pgadmin4
HIGHCVE-2022-4223 is a high-severity (CVSS 8.8) Code Injection vulnerability in pgadmin4. EPSS puts its 30-day exploitation probability at 80.1% (100th percentile). A fix is available for pgadmin4 — see the affected versions and patch details below.
pgadmin4 vulnerable to Code Injection
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for CVE-2022-4223.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
pgadmin4Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.
Description
The pgAdmin server includes an HTTP API that is intended to be used to validate the path a user selects to external PostgreSQL utilities such as pg_dump and pg_restore. The utility is executed by the server to determine what PostgreSQL version it is from. Versions of pgAdmin prior to 6.17 failed to properly secure this API, which could allow an unauthenticated user to call it with a path of their choosing, such as a UNC path to a server they control on a Windows machine. This would cause an appropriately named executable in the target path to be executed by the pgAdmin server.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐍PyPI | pgadmin4 | all versions | 6.17pip install --upgrade 'pgadmin4==6.17' |
Affected Products
fedorafedoraprojectpgadmin 4pgadminDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for pgadmin4, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update pgadmin4 to 6.17 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2022-4223 is resolved across your whole dependency graph.
Workarounds
Stop passing untrusted input into the interpreter or shell: call the affected binary with an argument array rather than a composed command string, reject anything outside a strict allowlist of expected values, and run the component under an account that cannot reach beyond the work it legitimately does.
How to detect CVE-2022-4223
A community-maintained Nuclei template exists for this CVE. You can scan for it directly:
nuclei -id cve-2022-4223 -u https://target- Template
- pgAdmin < 6.17 - Unauthenticated Remote Code Execution
- Severity
- critical
- Impact
- Attackers can execute arbitrary external utilities on the server, potentially leading to remote code execution or system compromise.
- Remediation
- Update to version 6.17 or later to fix the security issue.
Template by ProjectDiscovery nuclei-templates (0x_Akoko), MIT licensed. View the full template. Scan only systems you are authorised to test.
Frequently Asked Questions
Is CVE-2022-4223 in your dependencies?
Find it across PyPI, including transitive dependencies.