# CVE-2020-13961: Strapi improper input validation in email templates

Source: https://junglewise.ai/threats/cve-2020-13961-strapi-improper-input-validation-in-email-templates  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2022-05-24. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2020-13961 · Severity: low · CVSS 3.1 · Published 2022-05-24

Strapi is a popular open-source headless CMS used to manage and deliver content through APIs. An authenticated attacker could exploit unsanitized email templates stored in global variables to modify password reset and account confirmation emails, potentially enabling phishing or account takeover attacks. This vulnerability requires authenticated access and affects versions prior to 3.0.2.

Technologies: [strapi (npm)](https://junglewise.ai/threats/technologies/strapi). Vendors: [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2020-13961 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2020-13961 being exploited in the wild.

**How severe is CVE-2020-13961?** Low severity, with a CVSS score of 3.1, published 24 May 2022.

**Which products and versions are affected?** strapi (npm) SEMVER:introduced=0,fixed=3.0.2.

**Is there a fix for CVE-2020-13961?** Yes. strapi (npm): upgrade to 3.0.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2020-13961 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2020-13961?** Check whether you run strapi (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- strapi (npm): upgrade to 3.0.2 or later

  ```sh
  npm install strapi@3.0.2
  ```


## Technical details

The vulnerability is a CWE-20 (Improper Input Validation) issue in Strapi before version 3.0.2, where email templates are stored in a global variable without sanitization. An authenticated attacker can send a specially crafted request to bypass security restrictions and modify email templates used for password reset and account confirmation. The attack requires valid authentication credentials and network access to the Strapi instance. An attacker can alter the content of sensitive emails to redirect users to malicious sites or phish for credentials. The vulnerability was fixed in version 3.0.2 via improved error handling and input validation in the email provider logic.

## Affected products

- Strapi Strapi before 3.0.2

## Identifiers

- CVE-2020-13961
- GHSA-65wv-528r-m892

## Timeline

- 2020-06-19: disclosed
- 2020-06-09: patched: Fix merged in PR #6599

## References

- [https://github.com/strapi/strapi/pull/6599](https://github.com/strapi/strapi/pull/6599)

## Related threats

- [Strapi information disclosure via hidden attributes in admin API](https://junglewise.ai/threats/cve-2022-31367-strapi-information-disclosure-via-hidden-attributes-in-admin-api)
- [Strapi stored cross-site scripting in file upload](https://junglewise.ai/threats/cve-2022-29894-strapi-stored-cross-site-scripting-in-file-upload)
- [Strapi sensitive information disclosure in admin panel](https://junglewise.ai/threats/cve-2022-30618-strapi-sensitive-information-disclosure-in-admin-panel)
- [Strapi sensitive information disclosure in admin responses](https://junglewise.ai/threats/cve-2022-30617-strapi-sensitive-information-disclosure-in-admin-responses)
- [Strapi insecure password handling in documentation plugin](https://junglewise.ai/threats/cve-2021-46440-strapi-insecure-password-handling-in-documentation-plugin)
