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.