usd-2020-0050 | Gophish v0.10.1

Advisory ID: usd-2020-0050
CVE Number: CVE-2020-24712
Affected Product: Gophish
Affected Version: v0.10.1
Vulnerability Type: non-persistent self Cross-Site Scripting
Security Risk: Low
Vendor URL:
Vendor Status: Fixed


The “IMAP Host“ input field is vulnerable to Self-XSS when combined with pressing the “Test Settings“ button. It was however not possible during the pentest to save an XSS payload with a “Reporting Settings“.

Proof of Concept (PoC)

Visit /settings and enter an XSS payload as „IMAP Host“

Press „Test Settings“ and observe that the JavaScript is executed


It is recommended to treat all input on the website as potentially dangerous. Hence, all output that is dynamically generated based on user-controlled data should be encoded according to its context. The majority of programming languages support standard procedures for encoding meta characters. For example, PHP has the built-in function htmlspecialchars().
Additionally, all input should be validated on the server-side. Where possible, whitelist filters should be used. The more restrictive a filter can be specified, the better the protection it provides. Whitelisting is especially recommended if input values have a well defined format or a list of valid input values exists. Invalid values should not be sanitized and forwarded to the application. Instead, requests with invalid values should be rejected.



This security vulnerability was found by Marcus Nilsson of usd AG.


In order to protect businesses against hackers and criminals, we always have to keep our skills and knowledge up to date. Thus, security research is just as important for our work as is building up a security community to promote the exchange of knowledge. After all, more security can only be achieved if many individuals take on the task.

Our CST Academy and our usd HeroLab are essential parts of our security mission. We share the knowledge we gain in our practical work and our research through training courses and publications. In this context, the usd HeroLab publishes a series of papers on new vulnerabilities and current security issues.

Always for the sake of our mission: „more security.“

to usd AG

In accordance with usd AG’s Responsible Disclosure Policy, all vendors have been notified of the existence of these vulnerabilities.


The information provided in this security advisory is provided „as is“ and without warranty of any kind. Details of this security advisory may be updated in order to provide as accurate information as possible.