Loading...
Skip to main content

CVE-2023-22621 — Vulnerability in @strapi/plugin-email — CVE Details

CRITICAL

Strapi plugins vulnerable to Server-Side Template Injection and Remote Code Execution in the Users-Permissions Plugin

Published April 19, 2023Updated November 8, 2023Source: osv

Summary

### Summary Strapi through 4.5.5 allows authenticated Server-Side Template Injection (SSTI) that can be exploited to execute arbitrary code on the server. ### Details Strapi through 4.5.5 allows authenticated Server-Side Template Injection (SSTI) that can be exploited to execute arbitrary code on the server. A remote attacker with access to the Strapi admin panel can inject a crafted payload that executes code on the server into an email template that bypasses the validation checks that should prevent code execution. ### IoC Using just the request log files, the only IoC to search for is a `PUT` request to URL path `/users-permissions/email-templates`. This IoC only indicates that a Strapi email template was modified on your server and by itself does not indicate if your Strapi server has been compromised. If this IoC is detected, you will need to manually review your email templates on your Strapi server and backups of your database to see if any of the templates contain a `lodash` template delimiter (eg. `<%STUFF HERE%>`) that contains suspicious JavaScript code. Generally speaking these templates should look like the following, you may have minor adjustments but any unrecognized code should be considered suspicious. Reset Password Template: ```html <p>We heard that you lost your password. Sorry about that!</p> <p>But don’t worry! You can use the following link to reset your password:</p> <p><%= URL %>?code=<%= TOKEN %></p> <p>Thanks.</p> ``` Email Confirmation Template: ```html <p>Thank you for registering!</p> <p>You have to confirm your email address. Please click on the link below.</p> <p><%= URL %>?confirmation=<%= CODE %></p> <p>Thanks.</p> ``` Specifically you should look for odd code contained within the `<%STUFF HERE%>` blocks as this is what is used to bypass the lodash templating system. If you find any code that is not a variable name, or a variable name that is not defined in the template you are most likely impacted and should take immediate steps to confirm there are no malicious applications running on your servers. ### Impact All users on Strapi below 4.5.6 with access to the admin panel and the ability to modify the email templates

Advisory Timeline

  • First published April 19, 2023 (1272 days ago).
  • Last revised November 8, 2023 — 202 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

npm
Update @strapi/plugin-email to 4.5.6 or later
npm install @strapi/plugin-email@4.5.6
npm
Update @strapi/plugin-users-permissions to 4.5.6 or later
npm install @strapi/plugin-users-permissions@4.5.6

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (2)

Affects 1 ecosystem: npm (2).

PackageEcosystemAffectedFixed In
@strapi/plugin-email
npm
All versions4.5.6
@strapi/plugin-users-permissions
npm
All versions4.5.6

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 10.0 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

Frequently Asked Questions

What is CVE-2023-22621?
Strapi plugins vulnerable to Server-Side Template Injection and Remote Code Execution in the Users-Permissions Plugin This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 10.0/10).
How do I check if my project is affected by CVE-2023-22621?
CVE-2023-22621 affects @strapi/plugin-email and @strapi/plugin-users-permissions. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2023-22621 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
10.0

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-2h87-4q2w-v4hf

Related CVEs

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies