Fortigate SSL VPN恣意文件读取误差清静通告

宣布时间 2019-08-26

? 误差编号和级别


CVE编号:CVE-2018-13379,危险级别:高危,CVSS分值:7.5


? 影响版本


受影响的版本


FortiOS 5.6.3 - 5.6.7

FortiOS 6.0.0 - 6.0.4


? 误差概述


Fortinet FortiOS是美国飞塔(Fortinet)公司的一套专用于FortiGate网络清静平台上的清静操作系统。该系统为用户提供防火墙、防病毒、IPSec/SSLVPN、Web内容过滤和反垃圾邮件等多种清静功效。


Fortigate SSL VPN在全球VPN市场位列前5,无数大中型公司都在使用。此次曝出的恣意文件读取误差使用方法简朴,影响规模较广,可能会在以后很长一段时间内一连威胁Fortigate SSL VPN的用户。


该误差源于使用了不清静的函数,导致未能准确过滤URL中的恶意代码,最终造成恣意文件读取。详细如下:


Fortigate SSL VPN的某个页面在获取对应国家的语言文件时,会使用URL中的lang参数去构建要读取的文件名,示例如下:


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


以上函数没有任何清静�;�,虽然貌似只能指定json文件,但现实上我们可以使用snprintf的特征实现恣意文件读取。凭证函数的参数,其最多将栈空间-1的字符串写入输出中。因此,我们只需要使输入凌驾缓冲区巨细,.json就会因函数限制而被删除,我们就可以读取恣意文件。


? 误差验证


EXP: https://cxsecurity.com/issue/WLB-2019080089。


? 修复建议


现在厂商已宣布升级补丁以修复误差,补丁获取链接:

https://fortiguard.com/psirt/FG-IR-18-384。


? 参考链接


http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-201905-1026