PSIRT Advisory

FortiWeb Recursive URL Decoding is not enabled by default

Summary

FortiWeb's "Recursive URL Decoding" feature can detect URL-based attacks (among which XSS and SQL injection attempts) even when the malicious URL is recursively encoded. However, this feature is not enabled by default in FortiWeb's system settings for FortiWeb version 6.0.0 and below.

Impact

WAF bypass (URL based attack)

Affected Products

FortiWeb 6.0.0 and below

Solutions

Upgrade to FortiWeb 6.0.1 or newer versions or use workaround.

Workaround

For FortiWeb 6.0.0 and below, manually enabling this feature is recommended.

From the FortiWeb GUI, it can be enabled under system > Config > Advanced in the "Recursive URL Decoding" (refer to: http://help.fortinet.com/fweb/571/Content/FortiWeb/fortiweb-admin/advanced_settings.htm for more info).

From the FortiWeb CLI, it can be enabled with the following commands:

config system advanced
set circulate-url-decode enable
end

Update History

05-16-2018 Initial version.
08-23-2018 Default secure setting supported in 6.0.1

Acknowledgement

Fortinet is pleased to thank independent security researcher SecuNinja (http://twitter.com/secuninja) for reporting this FortiWeb operational risk under responsible disclosure.