Summary
A path traversal vulnerability in the FortiOS SSL VPN web portal may allow an unauthenticated attacker to download FortiOS system files through specially crafted HTTP resource requests.
Impact
Information Disclosure
Affected Products
FortiOS 6.0 – 6.0.0 to 6.0.4
FortiOS 5.6 – 5.6.3 to 5.6.7
FortiOS 5.4 – 5.4.6 to 5.4.12
(other branches and versions than above are not impacted)
ONLY if the SSL VPN service (web-mode or tunnel-mode) is enabled.
Solutions
Upgrade to FortiOS 5.6.8 or above, 6.0.5 or above, 6.2.0 or above, or upcoming 5.4.13.
Workarounds:
As a temporary solution, the only workaround is to totally disable the SSL-VPN service (both web-mode and tunnel-mode) by applying the following CLI commands:
config vpn ssl settings
unset source-interface
end
Note that firewall policies tied to SSL VPN will need to be unset first for the above sequence to execute successfully.
As an example, when source-interface is « port1 » and SSL VPN interface is « ssl.root », the following CLI commands would be needed to ensure « unset source-interface » executes successfully:
config vpn ssl settings
config authentication-rule
purge (purge all authentication-rules)
end
end
config firewall policy
delete [policy-id] (SSL VPN policy ID(s) that srcintf is « ssl.root » and dstintf is « port1 »)
end
Note that code to exploit this vulnerability in order to obtain the credentials of logged in SSL VPN users was disclosed. In absence of upgrading to the versions listed above, mitigating the impact of this exploit can be done by enabling two-factor authentication for SSL VPN users. An attacker would then not be able to use stolen credentials to impersonate SSL VPN users.
Revision History:
2019-05-24 Initial version
2019-06-04 Clarified the impacted versions and workarounds.
2019-08-30 FortiOS 5.4 branch (starts from 5.4.6) also affected and fix scheduled.
2019-08-30 two-factor authentication mitigation added for the disclosed exploit.
2019-08-30 Add public disclosure reference link.
Acknowledgement
Fortinet is pleased to thank Meh Chang and Orange Tsai from DEVCORE Security Research Team for reporting this vulnerability under responsible disclosure.