漏洞深度分析|CVE-2022-4223 Pgadmin 命令执行漏洞
2022-12-19 17:4:37 Author: www.4hou.com(查看原文) 阅读量:62 收藏

导语:棱镜七彩漏洞深度分析|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

如若转载,请注明原文地址

  • 分享至

取消 嘶吼

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟


文章来源: https://www.4hou.com/posts/l61j
如有侵权请联系:admin#unsafe.sh