绿盟

44118太阳成城集团

  • 基础设施安全

    基础设施安全
  • 数据安全

    数据安全
  • 云计算安全

    云计算安全
  • 工业互联网安全

    工业互联网安全
  • 物联网安全

    物联网安全
  • 信息技术应用创新

    信息技术应用创新
  • 全部产品

    全部产品
  • 全部解决方案

    全部解决方案

基础设施安全


  • 政府

    政府
  • 运营商

    运营商
  • 金融

    金融
  • 能源

    能源
  • 交通

    交通
  • 企业

    企业
  • 科教文卫

    科教文卫

返回列表

CVE-2017-9765漏洞分析

2017-08-09

发布者:44118太阳成城集团

2017.7.18日,SENRIO在官方博客公布了gSOAP整型溢出漏洞(CVE-2017-9765)细节,并将该漏洞命名为Devil's Ivy。根据genivia官方说明,当向服务器发送超过2Gb的XML数据时,将导致整型下溢,最终导致缓冲区溢出,可执行任意代码。该漏洞最初在Axis M3004摄像头中发现,但其影响范围远不止Axis摄像头,任何使用了gSOAP的应用均受影响。


漏洞原理

在soap_get_pi()函数中,缓冲区buf大小为64,变量i的值随着数据写入缓冲区递减。while循环中解析输入的xml数据,但是结束条件是遇到字符”?”或输入数据结尾,而不是判断实际写入缓冲区的数据是否已经达到0x40字节,当i<0时,输入数据不再写入缓冲区,但是每次while循环,--i的操作都在执行,从而导致整型下溢,当i的值溢出为正值以后,可以继续向缓冲区写入数据,从而突破缓冲区大小为64的限制。

图1漏洞修复前和修复后对比

漏洞利用时,通过发送0x80000000字节数据,可以导致整型下溢,通过0x40字节数据覆盖缓冲区,另外在覆盖返回地址前还需要0x30字节数据,总共0x80000070字节数据,通过post发送到80端口” /onvif/device_service”。

具体的漏洞触发场景为:

· 前0x40字节数据,i的值由0x40减为0,所读取的0x40字节数据填充到缓冲区buf中。i的值小于0后,读取的数据不再写入缓冲区;

· i的值由0Xffff ffff(-1)递减为负数最小值0x8000 0000;

· i的值再减1,将由负数最小值0x8000 0000变成正数最大值0x7fff ffff。因此,总共需要0x8000 0000字节数据,才能使i下溢为正数;
· i的值溢出为正数以后,此时可以继续向缓冲区写入数据,直到覆盖返回地址。


Genivia官方在2.8.48版本中修复了该漏洞,由图1可知,在新版本中,依然以读取到的数据是否为“?”作为数据输入结束判断条件,但是将i--操作放在if(i>1)的条件判断中,从而防止整型下溢。


影响版本

该漏洞在gSOAP 2.8.48版本中修复,之前的版本均受到影响。



官方对sourceforge上的所有版本均作了修复,即使旧版本也已经打上补丁,如2.8.47和2.8.48对比中,低版本同样不存在整型下溢的问题,sourceforge上所有旧版本提交日期均为20170716。



参考

http://blog.senr.io/devilsivy.html

https://www.genivia.com/advisory.html


声 明

本安全公告仅用来描述可能存在的安全问题,44118太阳成城集团不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,44118太阳成城集团以及安全公告作者不为此承担任何责任。44118太阳成城集团拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经44118太阳成城集团允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。


<<上一篇

Microsoft Office CVE-2017-8570 远程代码执行漏洞

>>下一篇

微软发布8月补丁修复48个安全问题 安全威胁通告

您的联系方式

*姓名
*单位名称
*联系方式
*验证码
提交到邮箱

购买热线

  • 购买咨询:

    400-818-6868-1

提交项目需求

欢迎加入44118太阳成城集团,成为我们的合作伙伴!
  • *请描述您的需求
  • *最终客户名称
  • *项目名称
  • 您感兴趣的产品
  • 项目预算
您的联系方式
  • *姓名
  • *联系电话
  • *邮箱
  • *职务
  • *公司
  • *城市
  • *行业
  • *验证码
  • 提交到邮箱

服务支持

智能客服
智能客服
购买/售后技术问题
盟管家-售后服务系统
盟管家-售后服务系统
在线提单|智能问答|知识库
支持热线
支持热线
400-818-6868
44118太阳成城集团社区
44118太阳成城集团社区
资料下载|在线问答|技术交流
微博
微博

微博

微信
微信

微信

B站
B站

B站

抖音
抖音

抖音

视频号
视频号

视频号

服务热线

400-818-6868

服务时间

7*24小时

© 2024 44118太阳成城集团 - 太阳成集团44118平台首页 All Rights Reserved . 京公网安备 11010802021605号 京ICP备14004349号 京ICP证110355号