Impact
pgAdmin 4 deserializes session files created by its own FileBackedSessionManager without verifying integrity first. An attacker who can place a file into the sessions directory—either by direct write permission granted to an authenticated user, by misconfiguration, or in combination with a separate path‑traversal bug—can supply a crafted Python pickle payload. When the application reads the file, it is deserialized unconditionally, allowing the attacker to execute arbitrary code in the operating‑system level session context, effectively hijacking the pgAdmin process. This vulnerability is a classic unsafe deserialization flaw, classified as CWE‑502.
Affected Systems
Products impacted are pgAdmin 4 versions prior to 9.15 released by pgadmin.org. No further version details are provided, but the fix is available in all releases after 9.15.
Risk and Exploitability
The vulnerability carries a CVSS score of 7.3, indicating a high severity. The EPSS score is not available, so the current exploit probability cannot be quantified. The issue is not listed in the CISA KEV catalog, suggesting that known exploitation in the wild is not reported. The likely attack vector is through privileged write access to the sessions directory; an attacker who authenticates with such privileges can drop a malicious pickle file, leading to remote code execution. Proper HMAC verification, as implemented in the patch, would prevent this exploitation.
OpenCVE Enrichment