CVE-2023-22915

7.5 HIGH

📋 TL;DR

A buffer overflow vulnerability in the fbwifi_forward.cgi CGI program of affected Zyxel devices allows remote unauthenticated attackers to cause denial-of-service conditions by sending crafted HTTP requests. This affects Zyxel USG FLEX, USG FLEX 50(W), USG20(W)-VPN, and VPN series devices with Facebook WiFi enabled. The vulnerability requires the Facebook WiFi function to be active on the device.

💻 Affected Systems

Products:
  • Zyxel USG FLEX series
  • Zyxel USG FLEX 50(W)
  • Zyxel USG20(W)-VPN
  • Zyxel VPN series
Versions: USG FLEX: 4.50 through 5.35; USG FLEX 50(W): 4.30 through 5.35; USG20(W)-VPN: 4.30 through 5.35; VPN series: 4.30 through 5.35
Operating Systems: Zyxel firmware
Default Config Vulnerable: ✅ No
Notes: Only vulnerable if Facebook WiFi function is enabled on the device. Disabled by default in most configurations.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote unauthenticated attacker could cause complete device crash or reboot, leading to extended network downtime and potential loss of firewall protection.

🟠

Likely Case

Remote attacker causes temporary denial-of-service by crashing the affected service or device, disrupting network connectivity until manual intervention.

🟢

If Mitigated

If Facebook WiFi is disabled, the vulnerability cannot be exploited and there is no impact.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires sending a crafted HTTP request to the vulnerable CGI endpoint. No authentication required.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Versions after 5.35

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 latest firmware from Zyxel support portal. 2. Backup current configuration. 3. Upload and install firmware update via web interface or CLI. 4. Reboot device after installation.

🔧 Temporary Workarounds

Disable Facebook WiFi

all

Disable the Facebook WiFi function to eliminate the attack vector

Web Interface: Configuration > Object > Service > Facebook WiFi > Disable
CLI: configure terminal > service facebook-wifi disable > commit

Network Access Control

all

Restrict access to the vulnerable CGI endpoint using firewall rules

Web Interface: Configuration > Security Policy > Add rule to block access to /cgi-bin/fbwifi_forward.cgi
CLI: configure terminal > security-policy from untrust to trust source any destination any service http url /cgi-bin/fbwifi_forward.cgi action deny > commit

🧯 If You Can't Patch

  • Disable Facebook WiFi function immediately
  • Implement network segmentation to isolate affected devices from untrusted networks

🔍 How to Verify

Check if Vulnerable:

Check firmware version via web interface (Maintenance > System > Firmware Version) or CLI (show version). Verify if Facebook WiFi is enabled (Configuration > Object > Service > Facebook WiFi).

Check Version:

show version

Verify Fix Applied:

After patching, confirm firmware version is above 5.35. Verify Facebook WiFi status remains as configured.

📡 Detection & Monitoring

Log Indicators:

  • Multiple HTTP requests to /cgi-bin/fbwifi_forward.cgi with unusual payloads
  • Device crash or reboot logs
  • Facebook WiFi service failure logs

Network Indicators:

  • HTTP traffic to /cgi-bin/fbwifi_forward.cgi with abnormal request patterns
  • Sudden loss of connectivity to affected device

SIEM Query:

source="zyxel-firewall" AND (url="/cgi-bin/fbwifi_forward.cgi" OR event_type="crash" OR service="facebook-wifi")

🔗 References

📤 Share & Export