雷鸟 ESR < 60.7.XXX 'icalrecur_add_bydayrules' 缓冲区溢出漏洞
摘要:当攻击者发送一个特殊的精心制作的日历附件,不需要用户交互。它可能被远程攻击者用来崩溃或获得远程代码并在客户端系统中执行。
X41 D-Sec GmbH Security Advisory: X41-2019-003
Stack-based buffer overflow in Thunderbird
==========================================
Severity Rating: High
Confirmed Affected Versions: All versions affected
Confirmed Patched Versions: Thunderbird ESR 60.7.XXX
Vendor: Thunderbird
Vendor URL: https://www.thunderbird.net/
Vendor Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=1553808
Vector: Incoming mail with calendar attachment
Credit: X41 D-SEC GmbH, Luis Merino
Status: Public
CVE: CVE-2019-11705
CWE: 121
CVSS Score: 7.8
CVSS Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H/E:U/RL:O
Advisory-URL: https://www.x41-dsec.de/lab/advisories/x41-2019-003-thunderbird
总结和影响
==================
基于堆栈的缓冲区溢出已在雷鸟电子邮件中确定
客户端。这个问题出现在libical实现中,它是分叉的
从上游libical版本0.47。
当攻击者发送一个特殊的
精心制作的日历附件,不需要用户交互。它
可能被远程攻击者用来崩溃或获得远程代码执行
在客户端系统中。
X41没有对软件执行完整的测试或审计。
产品描述
===================
雷鸟是一个免费和开源的电子邮件,新闻订阅,聊天和日历
客户端,很容易设置和定制。
分析
========
icalrecur_add_bydayrules()中的基于堆栈的缓冲区溢出
可以在解析包含格式错误的日历附件时触发
或者特制的绳子。
{% highlight c %} static int icalrecuraddbydayrules(struct icalrecurparser *parser, const char *vals) { short *array = parser->rt.byday; // ... while (n != 0) { // ... if (wd != ICALNOWEEKDAY) { array[i++] = (short) (sign * (wd + 8 * weekno)); array[i] = ICALRECURRENCEARRAYMAX; } } {% endhighlight %}
在icalrecuradd_bydayrules()中缺少完整性检查可能会导致
在aarraywhenweekno '中写入一个无效值。
该问题显示为分配的堆栈中的越界写入
缓冲区溢出。
预计攻击者可以利用这个漏洞来实现
当缺少适当的堆栈崩溃缓解时,远程代码执行。
概念验证
================
复制器eml文件可以在https://github.com/x41sec/advisories/tree/master/X41-2019-003中找到
解决方法
= = = = = = = = = = =
可以从上游获得修复。或者,libical可以替换为icaljs,
一个JavaScript实现的语法分析,通过设置
日历。在雷鸟配置中,icaljs = true。
时间轴
========
向供应商报告的问题
2019-05-23供应商回复
分配了CVE id
2019-06-13补丁版本发布
2019-06-13咨询发布的
关于X41 D-SEC GmbH
= = = = = = = = = = = = = = = = = = = =
X41是应用程序安全服务的专家提供者。
在信息领域具有丰富的行业经验和专业知识
安全,一个强大的核心安全团队,世界级的安全专家使之成为可能
X41执行高级安全服务。
应用程序安全领域的专业领域是以安全为中心的
代码审查、二进制逆向工程和漏洞发现。
定制研究和IT安全咨询及支持服务是核心
X41的能力。
漏洞源码:
https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/47004.zip
上一篇:phpMyAdmin 4.8 - Cross-Site Request Forgery安全漏洞公告
下一篇:最新CVE-2019-12181 Serv-U FTP Server < 15.1.7 - 本地提权漏洞
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了