CVE-2024-2044
Deserialización insegura y ejecución remota de código por un usuario autenticado en pgAdmin 4
- Publicado
- 7 mar 2024
- Actualizado
- 13 feb 2025
- Asignación de CNA
- PostgreSQL
- Evidencia observada
- 13 sept 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HAlto · próximos 30 días
- Percentil
- 99,6 %
- Fecha del modelo
- 15 oct 2026
EPSS es una estimación estadística, no una certeza o una medida de impacto. Combínelo con CVSS, estado KEV, exposición y su entorno.
Resumen
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
Fuentes
modules/exploits/multi/http/pgadmin_session_deserialization.rb
Metasploit Framework modulesCondiciones declaradas
- platform: Python($.exploit_multi/http/pgadmin_session_deserialization.platform)
- verification: check_declared($.exploit_multi/http/pgadmin_session_deserialization.check)
Uso responsable
Utilice información sobre vulnerabilidades solo en sistemas de su propiedad o que esté autorizado a probar. Kitploit enlaza con metadatos de investigación pública y no almacena código de explotación ni cargas útiles maliciosas.