Multiple Vulnerabilities in Fortinet Products Could Allow for Arbitrary Code Execution

MS-ISAC ADVISORY NUMBER:

2023-040

DATE(S) ISSUED:

04/12/2023

OVERVIEW:

Multiple vulnerabilities have been discovered in Fortinet Products, the most severe of which could allow for arbitrary code execution. Fortinet makes several products that are able to deliver high-performance network security solutions that protect your network, users, and data from continually evolving threats.
Successful exploitation of the most severe of these vulnerabilities could allow for arbitrary code execution in the context of the affected service account. Depending on the privileges associated with the service account an attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Service accounts that are configured to have fewer user rights on the system could be less impacted than those who operate with administrative user rights.

THREAT INTELLIGENCE:

There are currently no reports of these vulnerabilities being exploited in the wild.

SYSTEMS AFFECTED:

  • FortiDDoS-F versions prior to 6.4.1
  • FortiDDoS versions prior to 5.7.0
  • FortiADC versions prior to 7.2.0
  • FortiAnalyzer versions prior to 7.2.2
  • FortiManager versions prior to 7.2.2
  • FortiAuthenticator versions prior to 6.5.0
  • FortiClientMac versions prior to 7.2.0
  • FortiClientWindows versions prior to 7.2.0
  • FortiOS versions prior to 7.2.4
  • FortiNAC-F versions prior to 7.2.0
  • FortiNAC versions prior to 9.4.2
  • FortiProxy versions prior to 7.2.3
  • FortiPresence versions prior to 2.0.0
  • FortiSOAR versions prior to 8.0.0
  • FortiSandbox versions prior to 4.2.3
  • FortiDeceptor versions prior to 4.2.0
  • FortiWeb versions prior to 7.2.0
  • FortiSIEM versions prior to 6.5.0

RISK:

Government:
Large and medium government entitiesHIGH
Small governmentMEDIUM
Businesses:
Large and medium business entitiesHIGH
Small business entitiesMEDIUM
Home Users:
LOW

TECHNICAL SUMMARY:

Multiple vulnerabilities have been discovered in Fortinet Products, the most severe of which could allow for arbitrary code execution. Details of these vulnerabilities are as follows:
Tactic: Initial Access (TA0001):
Technique: Exploit Public Facing Application (T1190):

  • CVE-2022-40679 – FortiADC / FortiDDoS / FortiDDoS-F - Command injection in log & report module: An improper neutralization of special elements used in an OS command vulnerability in FortiADC, FortiDDoS and FortiDDoS-F may allow an authenticated attacker to execute unauthorized commands via specifically crafted arguments to existing commands.
  • CVE-2022-41330 - FortiOS / FortiProxy - Cross Site Scripting vulnerabilities in administrative interface: Multiple improper neutralization of input during web page generation ('Cross-site Scripting') vulnerabilities in FortiOS & FortiProxy administrative interface may allow an unauthenticated attacker to perform an XSS attack via crafted HTTP or HTTPS GET requests.
  • CVE-2022-43952 - FortiADC - Cross-Site Scripting in Fabric Connectors: An improper neutralization of input during web page generation ('Cross-site Scripting') vulnerability in FortiADC may allow an authenticated attacker to perform a cross-site scripting attack via crafted HTTP requests.
  • CVE-2022-43955 - FortiNAC - FortiWeb - XSS vulnerability in HTML generated attack report files: An improper neutralization of input during web page generation in the FortiWeb web interface may allow an unauthenticated and remote attacker to perform a reflected cross site scripting attack (XSS) via injecting malicious payload in log entries used to build report.
  • CVE-2022-30850 - FortiAuthenticator - Reflected XSS in the password reset page: An improper neutralization of script-related HTML tags in a web page vulnerability in FortiAuthenticator may allow a remote unauthenticated attacker to trigger a reflected cross site scripting (XSS) attack via the "reset-password" page.
  • CVE-2023-27995 - FortiSOAR - Server-side Template Injection in playbook execution: An improper neutralization of special elements used in a template engine vulnerability in FortiSOAR management interface may allow a remote and authenticated attacker to execute arbitrary code via a crafted payload.

Details of lower-severity vulnerabilities are as follows:

  • CVE-2022-0847 – FortiAuthenticator / FortiProxy / FortiSIEM - A security advisory was released affecting a version of the Linux Kernel used in FortiAuthenticator, FortiProxy & FortiSIEM
  • CVE-2022-43952 - FortiADC - Cross-Site Scripting in Fabric Connectors
  • CVE-2023-22642 - FortiAnalyzer & FortiManager - Lack of client-side certificate validation when establishing secure connections with FortiGuard to download outbreakalert
  • CVE-2022-42477 - FortiAnalyzer - Improper input validation in custom dataset
  • CVE-2023-22635 - FortiClient (Mac) - update functionality may lead to privilege escalation vulnerability
  • CVE-2022-40682 - FortiClient (Windows) - Arbitrary file creation from unprivileged users due to process impersonation
  • CVE-2022-43946 - FortiClient (Windows) - Improper write access over FortiClient pipe object
  • CVE-2022-42470 - FortiClientWindows - Arbitrary file creation by unprivileged users
  • CVE-2022-42469 - FortiGate - Policy-based NGFW SSL VPN mode doesn't filter accesses via Bookmarks
  • CVE-2022-43951 - FortiNAC - Report disclosure to unauthenticated users
  • CVE-2022-43947 - FortiGate - FortiOS & FortiProxy - Anti brute-force bypass in administrative interface
  • CVE-2023-22641 - FortiOS & FortiProxy - Open redirect in sslvpnd
  • CVE-2022-41331 - FortiPresence - Unpassworded remotely accessible Redis & MongoDB
  • CVE-2022-27485 - FortiSandbox - SQL injection in certificate downloading feature
  • CVE-2022-27487 - FortiSandbox / FortiDeceptor - Improper profile-based access control over APIs
  • CVE-2022-43948 - FortiWeb & FortiADC - OS command injection in CLI

Successful exploitation of the most severe of these vulnerabilities could allow for arbitrary code execution in the context of the affected service account. Depending on the privileges associated with the service account an attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Service accounts that are configured to have fewer user rights on the system could be less impacted than those who operate with administrative user rights.

RECOMMENDATIONS:

We recommend the following actions be taken:

  • Apply appropriate updates provided by FortiNet to vulnerable systems immediately after appropriate testing. (M1051: Update Software)

  • Safeguard 7.1: Establish and Maintain a Vulnerability Management Process: Establish and maintain a documented vulnerability management process for enterprise assets. Review and update documentation annually, or when significant enterprise changes occur that could impact this Safeguard.

  • Safeguard 7.2: Establish and Maintain a Remediation Process: Establish and maintain a risk-based remediation strategy documented in a remediation process, with monthly, or more frequent, reviews.

  • Safeguard 7.3: Perform Automated Operating System Patch Management: Perform operating system updates on enterprise assets through automated patch management on a monthly, or more frequent, basis.

  • Safeguard 7.4: Perform Automated Application Patch Management: Perform application updates on enterprise assets through automated patch management on a monthly, or more frequent, basis.

  • Safeguard 7.6: Perform Automated Vulnerability Scans of Externally-Exposed Enterprise Assets: Perform automated vulnerability scans of externally-exposed enterprise assets using a SCAP-compliant vulnerability scanning tool. Perform scans on a monthly, or more frequent, basis.

  • Safeguard 7.7: Remediate Detected Vulnerabilities: Remediate detected vulnerabilities in software through processes and tooling on a monthly, or more frequent, basis, based on the remediation process.

  • Safeguard 12.1: Ensure Network Infrastructure is Up-to-Date: Ensure network infrastructure is kept up-to-date. Example implementations include running the latest stable release of software and/or using currently supported network-as-a-service (NaaS) offerings. Review software versions monthly, or more frequently, to verify software support.

  • Safeguard 18.1: Establish and Maintain a Penetration Testing Program: Establish and maintain a penetration testing program appropriate to the size, complexity, and maturity of the enterprise. Penetration testing program characteristics include scope, such as network, web application, Application Programming Interface (API), hosted services, and physical premise controls; frequency; limitations, such as acceptable hours, and excluded attack types; point of contact information; remediation, such as how findings will be routed internally; and retrospective requirements.

  • Safeguard 18.2: Perform Periodic External Penetration Tests: Perform periodic external penetration tests based on program requirements, no less than annually. External penetration testing must include enterprise and environmental reconnaissance to detect exploitable information. Penetration testing requires specialized skills and experience and must be conducted through a qualified party. The testing may be clear box or opaque box.

  • Safeguard 18.3: Remediate Penetration Test Findings: Remediate penetration test findings based on the enterprise’s policy for remediation scope and prioritization.

  • Vulnerability scanning is used to find potentially exploitable software vulnerabilities to remediate them. (M1016: Vulnerability Scanning)

  • Safeguard 16.13: Conduct Application Penetration Testing: Conduct application penetration testing. For critical applications, authenticated penetration testing is better suited to finding business logic vulnerabilities than code scanning and automated security testing.Penetration testing relies on the skill of the tester to manually manipulate an application as an authenticated and unauthenticated user.

  • Apply the Principle of Least Privilege to all systems and services. Run all software as a non-privileged user (one without administrative privileges) to diminish the effects of a successful attack. (M1026: Privileged Account Management)

  • Safeguard 4.7: Manage Default Accounts on Enterprise Assets and Software: Manage default accounts on enterprise assets and software, such as root, administrator, and other pre-configured vendor accounts. Example implementations can include: disabling default accounts or making them unusable.

  • Safeguard 5.4: Restrict Administrator Privileges to Dedicated Administrator Accounts: Restrict administrator privileges to dedicated administrator accounts on enterprise assets. Conduct general computing activities, such as internet browsing, email, and productivity suite use, from the user’s primary, non-privileged account.

  • Safeguard 5.5: Establish and Maintain an Inventory of Service Accounts: Establish and maintain an inventory of service accounts. The inventory, at a minimum, must contain department owner, review date, and purpose. Perform service account reviews to validate that all active accounts are authorized, on a recurring schedule at a minimum quarterly, or more frequently.

  • Safeguard 6.8: Define and Maintain Role-Based Access Control: Define and maintain role-based access control, through determining and documenting the access rights necessary for each role within the enterprise to successfully carry out its assigned duties. Perform access control reviews of enterprise assets to validate that all privileges are authorized, on a recurring schedule at a minimum annually, or more frequently.

  • Architect sections of the network to isolate critical systems, functions, or resources. Use physical and logical segmentation to prevent access to potentially sensitive systems and information. Use a DMZ to contain any internet-facing services that should not be exposed from the internal network. Configure separate virtual private cloud (VPC) instances to isolate critical cloud systems. (M1030: Network Segmentation)

  • Safeguard 12.2: Establish and Maintain a Secure Network Architecture: Establish and maintain a secure network architecture. A secure network architecture must address segmentation, least privilege, and availability, at a minimum.

  • Restrict execution of code to a virtual environment on or in transit to an endpoint system. (M1048: Application Isolation and Sandboxing)

  • Safeguard 16.8: Separate Production and Non-Production Systems: Maintain separate environments for production and non-production systems.

  • Use capabilities to detect and block conditions that may lead to or be indicative of a software exploit occurring. (M1050: Exploit Protection)

  • Safeguard 10.5: Enable Anti-Exploitation Features: Enable anti-exploitation features on enterprise assets and software, where possible, such as Microsoft® Data Execution Prevention (DEP), Windows® Defender Exploit Guard (WDEG), or Apple® System Integrity Protection (SIP) and Gatekeeper™.

  • Restrict use of certain websites, block downloads/attachments, block Javascript, restrict browser extensions, etc. (M1021: Restrict Web-Based Content)

  • Safeguard 9.2: Use DNS Filtering Services: Use DNS filtering services on all enterprise assets to block access to known malicious domains.

  • Safeguard 9.3: Maintain and Enforce Network-Based URL Filters: Enforce and update network-based URL filters to limit an enterprise asset from connecting to potentially malicious or unapproved websites. Example implementations include category-based filtering, reputation-based filtering, or through the use of block lists. Enforce filters for all enterprise assets.

  • Safeguard 9.6: Block Unnecessary File Types: Block unnecessary file types attempting to enter the enterprise’s email gateway.

  • Inform and educate users regarding the threats posed by hypertext links contained in emails or attachments especially from un-trusted sources. Remind users not to visit un-trusted websites or follow links provided by unknown or un-trusted sources. (M1017: User Training)

  • Safeguard 14.1: Establish and Maintain a Security Awareness Program: Establish and maintain a security awareness program. The purpose of a security awareness program is to educate the enterprise’s workforce on how to interact with enterprise assets and data in a secure manner. Conduct training at hire and, at a minimum, annually. Review and update content annually, or when significant enterprise changes occur that could impact this Safeguard.

  • Safeguard 14.2: Train Workforce Members to Recognize Social Engineering Attacks: Train workforce members to recognize social engineering attacks, such as phishing, pre-texting, and tailgating.

REFERENCES:

Get Email Updates When Cyber Threats Like This Arise

Subscribe to Advisories