CVE-2020-9287

7.8 HIGH

📋 TL;DR

This vulnerability allows a local attacker to execute arbitrary code on systems running vulnerable versions of FortiClient EMS online installer. By placing malicious DLL files in the same directory as the installer executable, an attacker can trick the application into loading their code instead of legitimate libraries. This affects FortiClient EMS online installer version 6.2.1 and earlier.

💻 Affected Systems

Products:
  • FortiClient EMS online installer
Versions: 6.2.1 and below
Operating Systems: Windows
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects the online installer component, not the EMS server itself. Requires attacker to have write access to the directory containing FortiClientEMSOnlineInstaller.exe.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise with administrative privileges, allowing installation of persistent malware, data theft, or ransomware deployment.

🟠

Likely Case

Local privilege escalation leading to unauthorized access to sensitive data and system resources controlled by the FortiClient EMS service.

🟢

If Mitigated

Limited impact with proper access controls preventing unauthorized users from writing to installer directories.

🌐 Internet-Facing: LOW - This requires local access to the system where the installer is located.
🏢 Internal Only: HIGH - Internal attackers or compromised accounts with local file system access can exploit this vulnerability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires local access and ability to place files in the installer directory. DLL hijacking is a well-known technique with established attack patterns.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 6.2.2 or later

Vendor Advisory: https://fortiguard.com/psirt/FG-IR-19-060

Restart Required: Yes

Instructions:

1. Download FortiClient EMS online installer version 6.2.2 or later from Fortinet support portal. 2. Run the installer to upgrade existing installation. 3. Restart the system to ensure all components are properly loaded.

🔧 Temporary Workarounds

Restrict directory permissions

windows

Set strict access controls on directories containing FortiClientEMSOnlineInstaller.exe to prevent unauthorized users from writing files.

icacls "C:\Path\To\Installer\Directory" /deny Users:(OI)(CI)W

Use secure installation locations

windows

Install FortiClient EMS in protected directories like Program Files with proper ACLs.

🧯 If You Can't Patch

  • Remove local user write permissions from directories containing FortiClientEMSOnlineInstaller.exe
  • Monitor for unauthorized DLL files in installer directories using file integrity monitoring

🔍 How to Verify

Check if Vulnerable:

Check the version of FortiClientEMSOnlineInstaller.exe by right-clicking the file, selecting Properties, and checking the Details tab for version information.

Check Version:

wmic datafile where name="C:\\Path\\To\\FortiClientEMSOnlineInstaller.exe" get version

Verify Fix Applied:

Verify the installer version is 6.2.2 or higher and check that directory permissions restrict write access to non-administrative users.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected DLL loading events in Windows Event Logs (Security/System)
  • File creation events for DLL files in installer directories

Network Indicators:

  • Unusual outbound connections from FortiClient EMS processes following DLL loading

SIEM Query:

source="windows" AND (event_id=4663 OR event_id=4656) AND object_name="*.dll" AND process_name="FortiClientEMSOnlineInstaller.exe"

🔗 References

📤 Share & Export