Executive brief
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.
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
Timeline
- 2020-06-19: disclosed
- 2020-06-09: patched: Fix merged in PR #6599