diff --git a/cves/2019/CVE-2019-12581.yaml b/cves/2019/CVE-2019-12581.yaml
new file mode 100644
index 0000000000..5358af45d6
--- /dev/null
+++ b/cves/2019/CVE-2019-12581.yaml
@@ -0,0 +1,43 @@
+id: CVE-2019-12581
+
+info:
+ name: Zyxel ZyWall / USG / UAG - Reflected Cross-site scripting
+ author: n-thumann
+ severity: medium
+ description: A reflective Cross-site scripting (XSS) vulnerability in the free_time_failed.cgi CGI program in selected Zyxel ZyWall, USG, and UAG devices allows remote attackers to inject arbitrary web script or HTML via the err_msg parameter.
+ reference:
+ - https://nvd.nist.gov/vuln/detail/CVE-2019-12581
+ - https://www.zyxel.com/support/vulnerabilities-related-to-the-Free-Time-feature.shtml
+ - https://sec-consult.com/vulnerability-lab/advisory/reflected-cross-site-scripting-in-zxel-zywall/
+ - https://n-thumann.de/blog/zyxel-gateways-missing-access-control-in-account-generator-xss/
+ classification:
+ cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
+ cvss-score: 6.1
+ cve-id: CVE-2019-12581
+ cwe-id: CWE-79
+ metadata:
+ shodan-query: http.title:"ZyWall"
+ tags: cve,cve2019,zyxel,zywall,xss
+
+requests:
+ - method: GET
+ path:
+ - "{{BaseURL}}/free_time_failed.cgi?err_msg="
+
+ matchers-condition: and
+ matchers:
+ - type: word
+ part: body
+ words:
+ - ""
+ - "Please contact with administrator."
+ condition: and
+
+ - type: word
+ part: header
+ words:
+ - "text/html"
+
+ - type: status
+ status:
+ - 200