ATP series firmware: Use of Externally-Controlled Format String
CVE-2023-6764 is a high-severity use of externally-controlled format string vulnerability in ATP series firmware from Zyxel, with a CVSS 3.1 base score of 8.1 out of 10. It can be exploited remotely over the network by an unauthenticated attacker, without any action from a user. Affected ATP series firmware versions: version 4.32 through 5.37 Patch 1. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 0.89% chance of exploitation within 30 days, higher than 60% of scored CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update Atp100 Firmware to 5.37 or a later version.
- Update Atp100w Firmware to 5.37 or a later version.
- Update Atp200 Firmware to 5.37 or a later version.
- Read the advisory on zyxel.com for workarounds and exact fixed builds.
- Until you can update, restrict network access to the affected service so it is not reachable from untrusted networks.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Zyxel | ATP series firmware | version 4.32 through 5.37 Patch 1 | Not stated |
| Zyxel | USG FLEX series firmware | version 4.50 through 5.37 Patch 1 | Not stated |
| Zyxel | USG FLEX 50(W) series firmware | version 4.16 through 5.37 Patch 1 | Not stated |
| Zyxel | USG20(W)-VPN series firmware | version 4.16 through 5.37 Patch 1 | Not stated |
| Zyxel | atp_firmware | 4.32 through 5.37patch1 | Not stated |
| Zyxel | usg_flex_firmware | 4.50 through 5.37patch1 | Not stated |
| Zyxel | usg_flex_50w_firmware | 4.16 through 5.37patch1 | Not stated |
| Zyxel | usg_20w-vpn_firmware | 4.16 through 5.37patch1 | Not stated |
| Zyxel | Atp100 Firmware | 4.32 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Atp100w Firmware | 4.32 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Atp200 Firmware | 4.32 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Atp500 Firmware | 4.32 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Atp700 Firmware | 4.32 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Atp800 Firmware | 4.32 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Usg Flex 100 Firmware | 4.50 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Usg Flex 100ax Firmware | 4.50 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Usg Flex 100h Firmware | 4.50 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Usg Flex 100w Firmware | 4.50 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Usg Flex 200 Firmware | 4.50 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Usg Flex 200h Firmware | 4.50 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Usg Flex 200hp Firmware | 4.50 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Usg Flex 500 Firmware | 4.50 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Usg Flex 500h Firmware | 4.50 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Usg Flex 700 Firmware | 4.50 up to, but not including, 5.37; 5.37 | 5.37 |
| Zyxel | Usg Flex 700h Firmware | 4.50 up to, but not including, 5.37; 5.37 | 5.37 |
Version data comes from the organisation that assigned the CVE; 3 further products are omitted here. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- HighSuccess depends on conditions outside the attacker's control.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H. Scored by CNA (zyxel.com.tw).
Official description
A format string vulnerability in a function of the IPSec VPN feature in Zyxel ATP series firmware versions from 4.32 through 5.37 Patch 1, USG FLEX series firmware versions from 4.50 through 5.37 Patch 1, USG FLEX 50(W) series firmware versions from 4.16 through 5.37 Patch 1, and USG20(W)-VPN series firmware versions from 4.16 through 5.37 Patch 1 could allow an attacker to achieve unauthorized remote code execution by sending a sequence of specially crafted payloads containing an invalid pointer; however, such an attack would require detailed knowledge of an affected device’s memory layout and configuration.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Use of Externally-Controlled Format String
The product uses a function that accepts a format string as an argument, but the format string originates from an external source.
How developers prevent this class of flaw
- Choose a language that is not subject to this flaw.
- Ensure that all format string functions are passed a static string which cannot be controlled by the user, and that the proper number of arguments are always sent to that function as well. If at all possible, use functions that do not support the %n operator in format strings.
- Run compilers and linkers with high warning levels, since they may detect incorrect usage.
More Use of Externally-Controlled Format String vulnerabilities (CWE-134)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Other vulnerabilities in ATP series firmware
- 7.2 High severity
- 7.2 High severity
- 8.1 High severity
- 7.2 High severity
- 9.8 Critical severity
Zyxel Multiple Firewalls Path Traversal Exploited
- 7.2 High severity
Recent Use of Externally-Controlled Format String vulnerabilities
- 9.8 Critical severity
Fortinet Multiple Products Format String Exploited
- 8.8 High severity
- 8.8 High severity
- 8.8 High severity
- 9.8 Critical severity
- 8.8 High severity
Spotted an error? Tell us.