购物车

您的购物车目前是空的

商品分类
  1. 嘶货 首页
  2. 企业动态

漏洞深度分析|CVE-2022-4223 Pgadmin 命令执行漏洞

项目介绍

PostgreSQL是世界上第四大流行的开源数据库管理系统,它在各种规模的应用程序中得到了广泛的使用。而管理数据库的传统方法是使用命令行界面(CLI)工具。
PostgreSQL的图形化用户界面(GUI)工具则可以帮助用户对数据库实现更好的管理、操纵、以及可视化其数据。目前star数1.1k。

项目地址

https://www.pgadmin.org/

漏洞概述

pgadmin在验证pg_dump等工具路径的时候,由于没有对用户参数进行合理校验,在windows平台下存在命令执行漏洞。

影响版本

pgadmin 6.17

漏洞复现

Poc:
1)使用impacket提供的smbserver.py脚本构造恶意的smb服务
python3 smbserver.py -comment 'My share' TMP /tmp

image.gif

2)编译恶意的exe文件并放到对应目录
3)登录pgadmin,执行命令

image.gif

漏洞分析

最新版本的pgadmin 6.17存在命令执行漏洞,如下,subprocess.getoutput函数接收了full_path参数,而full_path可以通过用户指定

image.gif

有几个点需要注意
1)replace_binary_path
该函数从定义看仅仅替换了$DIR为当前目录,因此可以忽略影响

image.gif

2)os.path几个函数的处理
从下面代码可以看出full_path在不同平台下拼接的路径也不同,如果在windows下部署,
那么后缀会出现.exe。当windows使用smbv1协议时,可以使用UNC path指定攻击者的恶意文件从而执行任意命令。

image.gif

注意,windows下恶意的exe文件必须是下面几个文件名之一

image.gif

修复方式

暂不使用windows版本pgadmin

联系我们

010-62029792

在线咨询: 点击这里给我发消息

电子邮箱:info@4hou.com

工作时间:09:00 ~ 18:00