脸书 Google+ 微博 LinkedIn YouTube系统 RSS系统 菜单类 搜索 资源-博客 资源-Webinar 资源-报表 资源-事件 图标#066 图标_067 图标_068 图标_069 图标070

Python-Babel局部目录遍历/任意代码执行

中度

简表

babel2.9.0内含目录遍历缺陷,可用以加载.dat任意定位文件,内含串行式Python对象攻击者可引起babel.Lible任意代码执行可以通过运行过程内脱序实现

路径定位文件可指定从本地数据目录外加载本地文件./././基本允许非许可局部文件加载

区块构造器调用时,它会填充语言、领域、脚本、变量

检验本地标识符是否存在

核心.py
166标识值=spledata.despenes:168

标识符归来值获取_locale_degifer ():

核心.py
357 def____str__(自定义):358返回获取_locale_识别器

万一我们传递语言标识符归结为'en'和'en', 并可以通过调用_star___

locale-'en's

edata.debenss方法使用以确保区间存在

核心.py
167if非局部化

名不在缓存中时,它会查看#dirname中是否存有+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本地化data.py
24_dirname=os.path.jin

归根结底它写进网站包目录

>>> print(babel.localedata._dirname) /home/ubuntu/.local/lib/python3.8/site-packages/babel/locale-data

现在我们发布文件系统路径含前导././

locale = bael.bele./././././././././././././././no
              
               第一行
               
                文件 '/home/ubuntu/.Lib/pyth3.8/site打包/babel/core.py.
               
              

在上述案例中, 文件系统根部没有.dat文件if we复制es.dat文件到/tmp/en.dat

$ cp ~/.local/lib/python3.8/site-packages/babel/locale-data/es.dat /tmp/en.dat
locale = baile./././././././././././././././tmp/en

/tmp/en.dat文件确实加载,并配有美国西班牙文译文

上头见可从文件系统装入任意局部文件深入点

当局部对象属性访问时,Lapile.dat文件最终使用chep.load方法解密攻击者使用Python泡菜模块编译恶意.dat文件并加载时,可实现任意代码执行

详解当局部对象属性存取例举 :

本地语区

Lationaledata.load()方法调用局部标识符作为参数

核心.py
361@property362def_data(自定义):363自定义.__data=localedata

归根结底,通向淡入指定位置loadata方法本地化data.py

122             filename = os.path.join(_dirname, '%s.dat' % name) 123             with open(filename, 'rb') as fileobj: 124                 if name != 'root' and merge_inherited: 125                     merge(data, pickle.load(fileobj)) 126                 else: 127                     data = pickle.load(fileobj)

概念证明

显示任意代码执行假想 运行下Python代码代码先取类对象创建恶意.dat文件对象由 Babel解密时,它会运行UNIX'id'shell命令输出通知显示id命令结果

babel_id_exploit.py:
导入子进程输出file.close打印
输出 :
ython3bail_id_development.py创建/tmp/evil.dat加载语域uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),117(netdev),118(lxd)trackback(最近最后一次调用):文件Babel_id_despect.py,行22
              
               e.e/lib/pyon3.8/site-packages/bel/core.py
              

求解

更新为2.9.1

披露时间线

03/03/2021-可点名联系作者安全联系
03/03/2021-Babel联系人表示我们可以不加密地寄送报表
03/03/2021-可租发送漏洞报告90天日期为2021年6月01日
03/04/2021-babel感谢报告表示局部路径引起关注提高点对另一方
03/04/2021-可租响应承认点CVSS评分减法
03/17/2021-可租后续询问开发者是否已查看
04/05/2021-可点名请求更新
04/05/2021-babel会联系代码维护者
04/05/2021-可租感谢babel联系人
04/28/2021-babel主动维护者伸展感谢我们说代码在大师中固定问我们是否想确认
04/28/2021-可租价建议Babel我们将发布咨询并分配CVE请求确认和感谢babel

TRA建议内所有信息均提供“原封不动”,不提供任何保理,包括隐含可交易性和适切性保证用于特定目的,不保证完整性、准确性或及时性个人和组织负责评估实际或潜在安全漏洞的影响

可租制非常严肃地对待产品安全if you believe你发现我们产品中的脆弱点, 我们请求你与我们合作 快速解决它以保护客户可点信快速响应报告,与研究人员保持通信并快速提供解决方案

关于提交脆弱资料的更多细节,请见我们漏洞报告指南页码

如有问题或更正,请发邮件[email protected]

风险信息

可租咨询ID
TRA-2021-14
信用

克里斯林

sv3基础/时间评分
4.5/4.1
CVSSv3向量
CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
受影响产品
巴比尔2.9.0
风险因子
中度

咨询时间线

04/28/2021咨询发布
04/29/2021-删除CVE任务

可耐受脆弱性管理

前称Tenable.io


完全访问现代云型脆弱管理平台,使你能够以不匹配精度看到并跟踪所有资产

可租易容性管理实验中也包括可租可租Lumin、可租WebApp扫描和可租云安全

可耐受脆弱性管理

前称Tenable.io

完全访问现代云型脆弱管理平台,使你能够以不匹配精度看到并跟踪所有资产购买你年度订阅今天

65码资产类

选择订阅选项 :

立即购买

试可穿Nessus专业免费

免费7天

TenableNessus是当今市场最全面的脆弱感扫描器

New-Nessus专家
现可用

奈苏斯专家增加更多特征,包括外部攻击表面扫描能力以及添加域和扫描云基础设施能力点击这里尝试Nessus专家

填表后继续使用NessusPro测试

可买Nessus专业

TenableNessus是当今市场最全面的脆弱感扫描器可租Nessus专业程序帮助脆弱性扫描自动化,在守法周期中省时并允许你加入IT团队

购买多年度许可证并保存添加高级支持访问电话、社区聊天支持全天365天全天24小时

选择您的许可

购买多年度许可证并保存

添加支持培训

tenable.io

完全访问现代云型脆弱管理平台,使你能够以不匹配精度看到并跟踪所有资产

可租易容性管理实验中也包括可租可租Lumin、可租WebApp扫描和可租云安全

tenable.io 付费

完全访问现代云型脆弱管理平台,使你能够以不匹配精度看到并跟踪所有资产购买你年度订阅今天

65码资产类

选择订阅选项 :

立即购买

可租WebApp扫描试

前称Tenable.ioWeb应用扫描

完全存取最新网络应用扫描服务 设计现代应用安全扫描全在线组合漏洞高精度而不人工重创或干扰关键网络应用现在就签名

可租WebApp扫描实验中也包括可租易用性管理、可租可租鲁明和可租云安全

可租WebApp扫描

前称Tenable.ioWeb应用扫描

完全访问现代云型脆弱管理平台,使你能够以不匹配精度看到并跟踪所有资产购买你年度订阅今天

5 FQDNs

3 578美元

立即购买

试可腾鲁明

可视化并探索接触管理,跟踪随时间推移降低风险,并参照Tenablelumin对等基准

可点Lumin测试中也包括可点易点管理、可点WebApp扫描和可点云安全

可买路明

联系销售代表,看可租Lumin如何帮助你在整个组织中获取洞察力并管理网络风险

试可耐云安全

前称可租.cs

完全无障碍检测并修复云基础设施误配置并观察运行时漏洞注册免费测试了解更多试验过程点击这里

可租云安全测试中也包括可租易用性管理、可租可租鲁明和可租WebApp扫描

联系人a购买可租云安全

联系销售代表了解更多可耐云安全知识,并观察多易登录云账号并在分钟内为云误配置和漏洞获取可见度

试可耐奈苏斯专家免费

免费7天

内苏斯专家为现代攻击面搭建,使你能够看到更多并保护组织从IT到云的漏洞

已经有TenableNessus专业
升级Nessus专家免费7天

买可租Nessus专家

内苏斯专家为现代攻击面搭建,使你能够看到更多并保护组织从IT到云的漏洞

选择您的许可

购买多年度许可证并存更多

添加支持培训

试Nessus免费专家

免费7天

内苏斯专家为现代攻击面搭建,使你能够看到更多并保护组织从IT到云的漏洞

内索斯职业类
升级Nessus专家免费7天

买可租Nessus专家

内苏斯专家为现代攻击面搭建,使你能够看到更多并保护组织从IT到云的漏洞

选择您的许可

购买多年度许可证并存更多

添加支持培训

Baidu
map