Bug 2268535 (CVE-2024-2044) - CVE-2024-2044 pgAdmin4: Unsafe Deserialization and Remote Code Execution by an Authenticated user
Summary: CVE-2024-2044 pgAdmin4: Unsafe Deserialization and Remote Code Execution by a...
Keywords:
Status: NEW
Alias: CVE-2024-2044
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 2268536
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-03-08 04:16 UTC by TEJ RATHI
Modified: 2024-03-08 04:16 UTC (History)
0 users

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description TEJ RATHI 2024-03-08 04:16:13 UTC
pgAdmin 4 uses a file-based session management approach. The session files are saved on disk as pickle objects. When a user performs a request, the value of the session cookie 'pga4_session' is used to retrieve the file, then its content is deserialised, and finally its signature verified.
The cookie value is split in 2 parts at the first '!' character. The first part is the session ID (sid), while the second is the session digest.
 The vulnerability lies in versions of pgAdmin prior to 8.4 where a method loads session files by concatenating the sessions folder - located inside the pgAdmin 4 DATA_DIR - with the session ID. Precisely, the two values are concatenated using the ['os.path.join'] function. It does not set a trusted base-path which should not be escaped

https://github.com/pgadmin-org/pgadmin4/issues/7258

Comment 1 TEJ RATHI 2024-03-08 04:16:29 UTC
Created pgadmin4 tracking bugs for this issue:

Affects: fedora-all [bug 2268536]


Note You need to log in before you can comment on or make changes to this bug.