apostrophe@3.40.2-alpha

The Apostrophe Content Management System.

  • latest version

    4.32.0

  • latest non vulnerable version

  • first published

    13 years ago

  • latest version published

    16 days ago

  • licenses detected

  • Direct Vulnerabilities

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

    Fix vulnerabilities automatically

    Snyk's AI Trust Platform automatically finds the best upgrade path and integrates with your development workflows. Secure your code at zero cost.

    Fix for free
    VulnerabilityVulnerable Version
    • M
    Cross-site Scripting (XSS)

    apostrophe is a content management system (CMS) for Node.js. It supports in-context editing, schema-driven content types, flexible widgets and a great deal more. This module contains everything necessary to build a website with ApostropheCMS.

    Affected versions of this package are vulnerable to Cross-site Scripting (XSS) via tooltips, in the admin bar. An attacker can execute JavaScript code in the context of users viewing the affected tooltip by using a malicious display full name.

    How to fix Cross-site Scripting (XSS)?

    Upgrade apostrophe to version 4.30.0 or higher.

    <4.30.0
    • M
    Server-side Request Forgery (SSRF)

    apostrophe is a content management system (CMS) for Node.js. It supports in-context editing, schema-driven content types, flexible widgets and a great deal more. This module contains everything necessary to build a website with ApostropheCMS.

    Affected versions of this package are vulnerable to Server-side Request Forgery (SSRF) via the pretty-URL handler when the prettyUrls option is enabled. An attacker can cause the server to make blind HTTP requests to internal or external hosts by manipulating the Host header in unauthenticated requests, exposing /uploads/attachments/<cuid>-<slug>.<ext> for a known slug. All further side-channel information disclosure, verbose middleware error reporting, etc. are incidental to this vulnerability.

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

    Upgrade apostrophe to version 4.31.0 or higher.

    <4.31.0
    • H
    Prototype Pollution

    apostrophe is a content management system (CMS) for Node.js. It supports in-context editing, schema-driven content types, flexible widgets and a great deal more. This module contains everything necessary to build a website with ApostropheCMS.

    Affected versions of this package are vulnerable to Prototype Pollution in the apos.util.set() and apos.util.get() functions, when traversing dot-notation paths without sanitization of __proto__. An attacker can modify the Object.prototype by exploiting the $pullAll patch operator, which allows bypassing authorization checks on all piece-type REST API endpoints for every subsequent unauthenticated request, by polluting publicApiProjection.

    How to fix Prototype Pollution?

    Upgrade apostrophe to version 4.31.0 or higher.

    <4.31.0
    • M
    Improper Encoding or Escaping of Output

    apostrophe is a content management system (CMS) for Node.js. It supports in-context editing, schema-driven content types, flexible widgets and a great deal more. This module contains everything necessary to build a website with ApostropheCMS.

    Affected versions of this package are vulnerable to Improper Encoding or Escaping of Output via the linkHref field handling. An attacker can execute arbitrary JavaScript by supplying a javascript: URL in an image widget's link URL field and having it rendered on the page. This affects users who can edit content and allows an attacker to run a script in viewers’ browsers, exposing session data and enabling unauthorized actions on the affected site.

    How to fix Improper Encoding or Escaping of Output?

    Upgrade apostrophe to version 4.30.0 or higher.

    <4.30.0
    • C
    Weak Password Recovery Mechanism for Forgotten Password

    apostrophe is a content management system (CMS) for Node.js. It supports in-context editing, schema-driven content types, flexible widgets and a great deal more. This module contains everything necessary to build a website with ApostropheCMS.

    Affected versions of this package are vulnerable to Weak Password Recovery Mechanism for Forgotten Password via the resetRequest flow in the login module. An attacker can cause password reset emails to contain links to an attacker-controlled domain by sending a crafted Host header in a POST /api/v1/@apostrophecms/login/reset-request request, which can leak the reset token and allow the attacker to take over the victim’s account.

    Notes

    • The vulnerable path is gated by passwordReset: true in the login module and only affects deployments that leave apos.baseUrl unset.

    How to fix Weak Password Recovery Mechanism for Forgotten Password?

    Upgrade apostrophe to version 4.30.0 or higher.

    <4.30.0
    • M
    Server-side Request Forgery (SSRF)

    apostrophe is a content management system (CMS) for Node.js. It supports in-context editing, schema-driven content types, flexible widgets and a great deal more. This module contains everything necessary to build a website with ApostropheCMS.

    Affected versions of this package are vulnerable to Server-side Request Forgery (SSRF) via the sanitize image import path in the @apostrophecms/rich-text-widget module. An attacker can make the server fetch arbitrary image URLs by supplying rich text HTML with an <img> tag and a crafted src value during HTML import. This lets the attacker probe internal hosts and retrieve image content from reachable internal or external endpoints, exposing network resources and data to the user running the import.

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

    Upgrade apostrophe to version 4.30.0 or higher.

    <4.30.0
    • M
    Cross-site Scripting (XSS)

    apostrophe is a content management system (CMS) for Node.js. It supports in-context editing, schema-driven content types, flexible widgets and a great deal more. This module contains everything necessary to build a website with ApostropheCMS.

    Affected versions of this package are vulnerable to Cross-site Scripting (XSS) via color values passed to the @apostrophecms/color-field module. An attacker can cause execution of JavaScript in the browsers of visitors to affected pages by injecting values after -- as the color parameter, or after a closing </style> tag as a widget style.

    How to fix Cross-site Scripting (XSS)?

    Upgrade apostrophe to version 4.29.0 or higher.

    <4.29.0
    • M
    Incorrect Authorization

    apostrophe is a content management system (CMS) for Node.js. It supports in-context editing, schema-driven content types, flexible widgets and a great deal more. This module contains everything necessary to build a website with ApostropheCMS.

    Affected versions of this package are vulnerable to Incorrect Authorization in the getRestQuery() method in the @apostrophecms/piece-type module. An attacker can force the publicApiProjection to be bypassed by pre-populating a project query parameter in a REST API request. This allows reading restricted fields on documents the user has sufficient permissions to query.

    How to fix Incorrect Authorization?

    Upgrade apostrophe to version 4.29.0 or higher.

    <4.29.0
    • M
    Timing Attack

    apostrophe is a content management system (CMS) for Node.js. It supports in-context editing, schema-driven content types, flexible widgets and a great deal more. This module contains everything necessary to build a website with ApostropheCMS.

    Affected versions of this package are vulnerable to Timing Attack via the /api/v1/@apostrophecms/login/reset-request endpoint. An attacker can determine valid usernames or email addresses by measuring response times when submitting password reset requests. Invalid credentials have a fixed 2 second delay before response, while valid ones have no fixed delay duration, so credentials can be enumerated by brute force. This is only exploitable if the passwordReset option is explicitly enabled.

    How to fix Timing Attack?

    Upgrade apostrophe to version 4.29.0 or higher.

    <4.29.0
    • M
    Authorization Bypass Through User-Controlled Key

    apostrophe is a content management system (CMS) for Node.js. It supports in-context editing, schema-driven content types, flexible widgets and a great deal more. This module contains everything necessary to build a website with ApostropheCMS.

    Affected versions of this package are vulnerable to Authorization Bypass Through User-Controlled Key via the choices and counts query parameters in the REST API, which execute MongoDB distinct operations without applying field projection restrictions. An attacker can bypass publicApiProjection restrictions to retrieve all values for any schema field that has a registered query builder, including those protected by view permissions. The response may include sensitive information from fields that should not be publicly accessible, of types such as string, integer, float, select, boolean, date, slug, and relationship, as well as document counts for each value.

    How to fix Authorization Bypass Through User-Controlled Key?

    Upgrade apostrophe to version 4.29.0 or higher.

    <4.29.0
    • M
    Cross-site Scripting (XSS)

    apostrophe is a content management system (CMS) for Node.js. It supports in-context editing, schema-driven content types, flexible widgets and a great deal more. This module contains everything necessary to build a website with ApostropheCMS.

    Affected versions of this package are vulnerable to Cross-site Scripting (XSS) in renderNodes(), via SEO Title and Meta Description values, where user-controlled input is rendered without proper output encoding into HTML contexts such as <title> tags, <meta> attributes, and JSON-LD structured data. A user can execute JavaScript in the browser of another authenticated user who views the affected page.

    How to fix Cross-site Scripting (XSS)?

    Upgrade apostrophe to version 4.29.0 or higher.

    <4.29.0
    • C
    Authentication Bypass by Primary Weakness

    apostrophe is a content management system (CMS) for Node.js. It supports in-context editing, schema-driven content types, flexible widgets and a great deal more. This module contains everything necessary to build a website with ApostropheCMS.

    Affected versions of this package are vulnerable to Authentication Bypass by Primary Weakness in the getBearer function of the authentication middleware. An attacker can gain unauthorized access to user accounts by using a password-only authenticated token to bypass additional authentication requirements.

    Note: This is only exploitable if the attacker knows valid user credentials but does not have access to the required TOTP or MFA code, and the deployment uses multi-factor authentication.

    How to fix Authentication Bypass by Primary Weakness?

    Upgrade apostrophe to version 4.28.0 or higher.

    <4.28.0