Cisco Talos的研究人员在OpenCV 4.1.0版中发现了两个缓冲区溢出漏洞,即CVE-2019-5063(CVSS评分8.8)和CVE-2019-5064(CVSS评分8.8)。
OpenCV(开源计算机视觉)是一个编程功能库,主要针对实时计算机视觉。[1]它最初是由英特尔开发的,后来得到了Willow Garage和Itseez(后来被Intel [2]收购)的支持。该库是跨平台的,可以在开源BSD许可下免费使用。
OpenCV支持深度学习框架TensorFlow,Torch/PyTorch和Caffe。
包括Google,Yahoo,Microsoft,Intel,IBM,Sony,Honda,Toyota等在内的主要技术公司都使用该库来开发面部识别技术,机器人技术,运动跟踪和其他解决方案。
OpenCV 4.1.0版的数据结构持久性功能中存在一个可利用的堆缓冲区溢出漏洞。特制的JSON文件可能会导致缓冲区溢出,从而导致多个堆损坏并可能执行代码。攻击者可能提供了特制文件来触发此漏洞。
第一个漏洞CVE-2019-5063(CVSS得分8.8)是堆缓冲区溢出漏洞,它存在于OpenCV 4.1.0的数据结构持久性功能中。利用此漏洞,开发人员可以向OpenCV写入数据,也可以从其中读取文件。
根据Talos的说法,在解析包含对潜在字符实体的引用并遇到“&”字符的XML文件时,API会继续提取字母数字字符,直到分号为止。如果该字符串与switch语句中的任何字符串都不匹配,则将数据原样复制到缓冲区。
这使攻击者可以创建特殊的XML文件并触发缓冲区溢出,从而导致多个堆损坏和潜在的代码执行。
Talos解释说,第二个漏洞CVE-2019-5064(CVSS评分8.8)也位于库的数据结构持久性功能中,可以使用特制JSON文件触发。
这两个漏洞都是在OpenCV 4.1.0中发现的,并于2019年7月报告给供应商。2019年12月底发布的OpenCV 4.2.0版本已解决了这两个缓冲区溢出漏洞。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx