CVE-2024-2044
Unsafe Deserialisation and Remote Code Execution by an Authenticated user in pgAdmin 4
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
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.
pgAdmin 4 utiliza un enfoque de gestión de sesiones basado en archivos. Los archivos de sesión se guardan en el disco como objetos pickle. Cuando un usuario realiza una solicitud, el valor de la cookie de sesión 'pga4_session' se utiliza para recuperar el archivo, luego se deserializa su contenido y finalmente se verifica su firma. El valor de la cookie se divide en 2 partes en el primer '!' personaje. La primera parte es el ID de la sesión (sid), mientras que la segunda es el resumen de la sesión. La vulnerabilidad radica en las versiones de pgAdmin anteriores a la 8.4, donde un método carga archivos de sesión concatenando la carpeta de sesiones, ubicada dentro de pgAdmin 4 DATA_DIR, con el ID de sesión. Precisamente, los dos valores se concatenan usando la función ['os.path.join']. No establece una ruta base confiable de la que no se debe escapar
CVSS Scores
SSVC
- Decision:Attend
Timeline
- 2024-02-29 CVE Reserved
- 2024-03-07 CVE Published
- 2024-08-01 CVE Updated
- 2024-10-14 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-31: Path Traversal: 'dir\..\..\filename'
CAPEC
References (4)
URL | Date | SRC |
---|
URL | Date | SRC |
---|
URL | Date | SRC |
---|
Affected Vendors, Products, and Versions
Vendor | Product | Version | Other | Status | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
Pgadmin.org Search vendor "Pgadmin.org" | PgAdmin 4 Search vendor "Pgadmin.org" for product "PgAdmin 4" | < 8.4 Search vendor "Pgadmin.org" for product "PgAdmin 4" and version " < 8.4" | en |
Affected
|