CVE-2023-22913

8.1 HIGH

📋 TL;DR

A post-authentication command injection vulnerability in Zyxel USG FLEX and VPN series firewalls allows authenticated attackers to execute arbitrary commands through the account_operator.cgi program. This can lead to device configuration modification and denial-of-service conditions. Affected users include organizations using Zyxel USG FLEX firmware versions 4.50-5.35 or VPN firmware versions 4.30-5.35.

💻 Affected Systems

Products:
  • Zyxel USG FLEX series
  • Zyxel VPN series
Versions: USG FLEX: 4.50 through 5.35, VPN: 4.30 through 5.35
Operating Systems: Zyxel proprietary firmware
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated access to the web management interface. All devices with affected firmware versions are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete device compromise leading to persistent backdoor installation, network traffic interception, and lateral movement to internal systems.

🟠

Likely Case

Device configuration corruption causing service disruption, loss of network connectivity, and potential data exfiltration.

🟢

If Mitigated

Limited impact with proper network segmentation and authentication controls, potentially only affecting the firewall device itself.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires valid administrator credentials. The vulnerability is in a CGI program that processes user input without proper sanitization.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: USG FLEX: 5.36, VPN: 5.36

Vendor Advisory: https://www.zyxel.com/global/en/support/security-advisories/zyxel-security-advisory-for-multiple-vulnerabilities-of-firewalls-and-aps

Restart Required: Yes

Instructions:

1. Download firmware version 5.36 or later from Zyxel support portal. 2. Backup current configuration. 3. Upload firmware via web interface. 4. Apply firmware update. 5. Reboot device. 6. Verify firmware version.

🔧 Temporary Workarounds

Restrict administrative access

all

Limit access to the web management interface to trusted IP addresses only

Configure firewall rules to restrict access to management interface IP/port from specific source IPs

Disable unused accounts

all

Remove or disable any unnecessary administrative accounts

Review and disable unused accounts via web interface

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate affected devices
  • Enforce strong authentication policies and multi-factor authentication

🔍 How to Verify

Check if Vulnerable:

Check firmware version via web interface: System > Maintenance > Firmware

Check Version:

No CLI command available; check via web interface only

Verify Fix Applied:

Confirm firmware version is 5.36 or higher in System > Maintenance > Firmware

📡 Detection & Monitoring

Log Indicators:

  • Unusual account_operator.cgi requests
  • Multiple failed login attempts followed by successful login
  • Configuration changes from unexpected sources

Network Indicators:

  • Unusual outbound connections from firewall device
  • Traffic patterns inconsistent with normal operations

SIEM Query:

source="zyxel_firewall" AND (uri="*account_operator.cgi*" OR event="configuration_change")

🔗 References

📤 Share & Export