Fortigate SSL VPN 漏洞预警
2019-08-16 14:49

enter description here

报告编号:B6-2019-081602

报告来源:360-CERT

报告作者:360-CERT

更新日期:2019-08-16

0x00 漏洞背景

360CERT观测到安全研究员Orange公布Fortigate SSL VPN多个安全漏洞。攻击者可以利用相应漏洞获取账号密码、修改账号密码和多洞结合获取系统SHELL。

0x01 漏洞详情

漏洞编号及影响:

  • CVE-2018-13379:任意文件读取漏洞
  • CVE-2018-13381:缓冲区溢出漏洞
  • CVE-2018-13382:magic 参数后门漏洞
  • CVE-2018-13383:缓冲区溢出漏洞
  • CVE-2018-13380: 跨站可执行脚本漏洞

其中,CVE-2018-13379,可以读取系统任意文件,CVE-2018-13382 可以任意修改系统账号密码,CVE-2018-13383结合任意文件读取漏洞可以GetShell。

漏洞分析:

CVE-2018-13379: 任意文件读取漏洞

系统获取相应语言文件时,使用以下方法构建文件路径:

snprintf(s, 0x40, "/migadmin/lang/%s.json", lang);

lang参数没有保护措施,但是生成的路径是读取json文件。利用snprintf函数的特性:‘格式化后的字符串长度 >= size,则只将其中的(size-1)个字符复制到str中’,使得格式化后的字符串长度大于size,json将被剥离,这样可以造成任意文件读取漏洞。

CVE-2018-13382:magic 参数后门漏洞

在系统登录时会提交一个magic参数,一旦此参数与后台硬编码字符串相符合,则攻击者可以修改任意用户密码。 magic 参数后门漏洞 (注: 图片来自Orange博客)

CVE-2018-13383:缓冲区溢出漏洞

此处为WEB VPN功能漏洞。在系统解析javascript时,会将适应如下方式将内容考入缓冲区中

memcpy(buffer, js_buf, js_buf_len);

缓冲区固定大小为0x2000,但输入的字符串没有限制,此处可造成缓冲区溢出漏洞。

注意:相关漏洞利用脚本部分在已经在网上公开,不否认已经有攻击者开始利用此漏洞进行攻击。

0x02 影响版本

0x04 时间线