The process of developing and stabilizing the exploitation code for over 50 different interfaces, each using various stacks and versions, would be both time-consuming and risky. Considering that the vulnerability appears to be a Heap Overflow, the potential for crashing production appliances is significantly high. Consequently, pursuing this path is not a viable option.
However, it was crucial for us to find a solution that enables precise detection of the vulnerability status on the appliance. This way, our client can effectively monitor the patching progress and assess their exposure to potential risks
As an alternative approach, we considered determining the version in a black box manner from an external perspective. However, this task is inherently challenging, particularly for VPN-SSL interfaces that generate a minimal number of requests. Complicating matters further, the manufacturers do not provide any indications regarding the version of the appliance.
To address this, we set up a laboratory environment where we configured seven different versions of FortiOS, each equipped with a VPN-SSL installation. The objective was to identify any notable differences among the exposed VPN-SSL interfaces across these versions. Here is an excerpt highlighting the variations observed in the patched version 6.4.13: