title: Unsafe Deserialisation and Remote Code Execution by an Authenticated user in pgAdmin 4
description: pgAdmin <= 8.3 is affected by a path-traversal vulnerability while deserializing users’ sessions in the session handling code. If the server is running on Windows, an unauthenticated attacker can load and deserialize remote pickle objects and gain code execution. If the server is running on POSIX/Linux, an authenticated attacker can upload pickle objects, deserialize them, and gain code execution.
affected:
{
defaultStatus: affected
modules: User Session
product: pgAdmin 4
programFiles: https://github.com/pgadmin-org/pgadmin4/blob/master/web/pgadmin/utils/session.py
repo: https://github.com/pgadmin-org/pgadmin4
vendor: pgadmin.org
versions:
lessThan: 8.4, status: affected, version: 0, versionType: custom
}
metrics:
cvssV3_1: [
attackComplexity: LOW
attackVector: NETWORK
availabilityImpact: HIGH
baseScore: 9.9
baseSeverity: CRITICAL
confidentialityImpact: HIGH
integrityImpact: HIGH
privilegesRequired: LOW
scope: CHANGED
userInteraction: NONE
vectorString: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
version: 3.1
]
format: CVSS
scenarios: GENERAL