strapi@3.0.0-alpha.12.1 vulnerabilities

An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MongoDB, MySQL, MariaDB, PostgreSQL, SQLite

Direct Vulnerabilities

Known vulnerabilities in the strapi package. This does not include vulnerabilities belonging to this package’s dependencies.

Automatically find and fix vulnerabilities affecting your projects. Snyk scans for vulnerabilities and provides fixes for free.
Fix for free
Vulnerability Vulnerable Version
  • H
Server-Side Request Forgery (SSRF)

strapi is a HTTP layer sits on top of Koa.

Affected versions of this package are vulnerable to Server-Side Request Forgery (SSRF) through the /strapi.io/_next/image component. This attack can be perform as an unauthorized user by simply sending GET request to the below endpoint, leading to sensitive data leakage, such as authorization credentials.

How to fix Server-Side Request Forgery (SSRF)?

There is no fixed version for strapi.

*
  • M
Improper Input Validation

strapi is a HTTP layer sits on top of Koa.

Affected versions of this package are vulnerable to Improper Input Validation due to mishandling hidden attributes within admin API responses. Exploiting this vulnerability allows users with permission to read user data in the settings section to read all users' data, including password hashes, by manipulating columns when using the filter function.

How to fix Improper Input Validation?

Upgrade strapi to version 3.6.10 or higher.

<3.6.10
  • L
Cross-site Scripting (XSS)

strapi is a HTTP layer sits on top of Koa.

Affected versions of this package are vulnerable to Cross-site Scripting (XSS) via file upload module, which allows attackers with admin permissions to exploit this vulnerability via a crafted file.

How to fix Cross-site Scripting (XSS)?

There is no fixed version for strapi.

*
  • L
Cross-site Scripting (XSS)

strapi is a HTTP layer sits on top of Koa.

Affected versions of this package are vulnerable to Cross-site Scripting (XSS) due to insufficient sanitization of user-supplied data in the file upload function. This vulnerability is exploitable when the victim has administrative privileges.

Note: Users of strapi should upgrade to @strapi/strapi, as strapi is EOL.

How to fix Cross-site Scripting (XSS)?

There is no fixed version for strapi.

*
  • H
Information Exposure

strapi is a HTTP layer sits on top of Koa.

Affected versions of this package are vulnerable to Information Exposure by allowing an authenticated user with access to the admin panel to view private and sensitive data, such as email and password reset tokens via API responses. There are many scenarios in which such details from API users can leak in the JSON response within the admin panel, either through a direct or indirect relationship. Access to this information enables a user to compromise these users’ accounts if the password reset API endpoints have been enabled. In a worst-case scenario, a low-privileged user could get access to a high-privileged API account and could read and modify any data as well as block access to both the admin panel and API by revoking privileges for all other users.

Note: Versions 4.0.0 up to 4.1.9 are also vulnerable, however, they're available only through the Github repository. Upgrade to version 4.1.10 to fix this vulnerability.

How to fix Information Exposure?

Upgrade strapi to version 3.6.10 or higher.

<3.6.10
  • M
Information Exposure

strapi is a HTTP layer sits on top of Koa.

Affected versions of this package are vulnerable to Information Exposure by allowing an authenticated user with access to the admin panel to view private and sensitive data, such as email and password reset tokens, for other admin panel users that have a relationship (e.g., created by, updated by) with content accessible to the authenticated user. For example, a low-privileged “author” role account can view these details in the JSON response for an “editor” or “super admin” that has updated one of the author’s blog posts. Access to this information enables a user to compromise other users’ accounts by successfully invoking the password reset workflow. In a worst-case scenario, a low-privileged user could get access to a “super admin” account with full control over the Strapi instance, and could read and modify any data as well as block access to both the admin panel and API by revoking privileges for all other users.

How to fix Information Exposure?

Upgrade strapi to version 3.6.10 or higher.

<3.6.10
  • M
Information Exposure

strapi is a HTTP layer sits on top of Koa.

Affected versions of this package are vulnerable to Information Exposure due to the storage of passwords in a recoverable format in the documentation plugin component. Exploiting this vulnerability allows an attacker to access a victim's HTTP request, get the victim's cookie, perform a base64 decode on the victim's cookie, and obtain a cleartext password, leading to getting API documentation for further API attacks.

How to fix Information Exposure?

Upgrade strapi to version 3.6.9 or higher.

<3.6.9
  • M
Improper Authentication

strapi is a HTTP layer sits on top of Koa.

Affected versions of this package are vulnerable to Improper Authentication. If an attacker is able to access a valid admin session, they can then change the account's password without being required to input the current password.

How to fix Improper Authentication?

A fix was pushed into the master branch but not yet published.

*
  • H
Server-side Request Forgery (SSRF)

strapi is a HTTP layer sits on top of Koa.

Affected versions of this package are vulnerable to Server-side Request Forgery (SSRF). admin/src/containers/InputModalStepperProvider/index.js has a /proxy?url= functionality which could be abused to route to internal IPs and access private IPs available to the server.

How to fix Server-side Request Forgery (SSRF)?

Upgrade strapi to version 3.2.5 or higher.

<3.2.5
  • M
Access Restriction Bypass

strapi is a HTTP layer sits on top of Koa.

Affected versions of this package are vulnerable to Access Restriction Bypass. A remote authenticated attacker is allowed to bypass security restrictions because templates are stored in a global variable without any sanitation. By sending a specially crafted request, an attacker could exploit this vulnerability to update the email template for both password reset and account confirmation emails.

How to fix Access Restriction Bypass?

Upgrade strapi to version 3.0.2 or higher.

<3.0.2
  • L
Denial of Service (DoS)

strapi is a HTTP layer sits on top of Koa.

Affected versions of this package are vulnerable to Denial of Service (DoS). The sanitisation regex in installPlugin and uninstallPlugin handler functions for the admin panel allows the dash - character. Using this attacker can pass valid arguments like -h, -v, --help which will be passed to execa() and can lead to a server restart.

How to fix Denial of Service (DoS)?

Upgrade strapi to version 3.0.0-beta.18.4 or higher.

<3.0.0-beta.18.4
  • H
Arbitrary Code Injection

strapi is a HTTP layer sits on top of Koa.

Affected versions of this package are vulnerable to Arbitrary Code Injection. The package fails to sanitize plugin names in the /admin/plugins/install/ route. This may allow an authenticated attacker with admin privileges to run arbitrary commands in the server.

How to fix Arbitrary Code Injection?

Upgrade strapi to version 3.0.0-beta.17.8 or higher.

<3.0.0-beta.17.8
  • C
Improper Access Control

strapi is a HTTP layer sits on top of Koa.

Affected versions of this package are vulnerable to Improper Access Control. It mishandles password resets within packages/strapi-admin/controllers/Auth.js and packages/strapi-plugin-users-permissions/controllers/Auth.js.

How to fix Improper Access Control?

Upgrade strapi to version 3.0.0-beta.17.5 or higher.

<3.0.0-beta.17.5