p PatchFirst

PatchFirst · Latest vulnerabilities

convict vulnerabilities

Vulnerabilities published for convict in the last 30 days: 0. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Clear filters

Vulnerabilities: 5

  1. CVE-2026-33864

    Critical · CVSS 9.4Fix available

    Convict has Prototype Pollution via startsWith() function

    ### Summary A prototype pollution vulnerability exists in the latest version of the convict npm package (6.2.4). Despite a previous fix that attempted to mitigate prototype pollution by checking whether user input started with a forbidden key, it is still possible to pollute `Object.prototype` via a crafted input using `String.prototype`. ### Details The vulnerability resides in line 564 of https://github.com/mozilla/node-convict/blob/master/packages/convict/src/main.js where `startsWith()` function is used to check whether user provided input contain forbidden strings. ### PoC #### Steps to reproduce 1. Install latest version of convict

    • Update to 6.2.5
    Published Updated
  2. CVE-2026-33863

    Critical · CVSS 9.4Fix available

    Convict has prototype pollution via load(), loadFile(), and schema initialization

    ### Impact Two unguarded prototype pollution paths exist, not covered by previous fixes: 1. `config.load()` / `config.loadFile()` — `overlay()` recursively merges config data without checking for forbidden keys. Input containing` __proto__` or `constructor.prototype` (e.g. from a JSON file) causes the recursion to reach `Object.prototype` and write attacker-controlled values onto it. 2. Schema initialization — passing a schema with `constructor.prototype.*` keys to `convict({...})` causes default-value propagation to write directly to `Object.prototype` at startup. Depending on how polluted properties are consumed, impact ranges from unexpe

    • Update to 6.2.5
    Published Updated
  3. CVE-2023-0163

    High · CVSS 8.4EPSS 0.27%Fix available

    Prototype Pollution in convict

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') vulnerability in Mozilla Convict. This allows an attacker to inject attributes that are used in other components, or to override existing attributes with ones that have incompatible type, which may lead to a crash. The main use case of Convict is for handling server-side configurations written by the admins owning the servers, and not random users. So it's unlikely that an admin would deliberately sabotage their own server. Still, a situation can happen where an admin not knowledgeable about JavaScript could be tricked by an attacker into writing

    • Update to 6.2.4
    Published Updated
  4. CVE-2022-21190

    High · CVSS 7.5EPSS 3.97%Fix available

    Prototype Pollution

    This affects the package convict before 6.2.3. This is a bypass of [CVE-2022-22143](https://security.snyk.io/vuln/SNYK-JS-CONVICT-2340604). The [fix](https://github.com/mozilla/node-convict/commit/3b86be087d8f14681a9c889d45da7fe3ad9cd880) introduced, relies on the startsWith method and does not prevent the vulnerability: before splitting the path, it checks if it starts with __proto__ or this.constructor.prototype. To bypass this check it's possible to prepend the dangerous paths with any string value followed by a dot, like for example foo.__proto__ or foo.this.constructor.prototype.

    • Update to 6.2.3
    Published Updated
  5. CVE-2022-22143

    High · CVSS 7.5EPSS 2.18%Fix available

    Prototype Pollution

    The package convict before 6.2.2 are vulnerable to Prototype Pollution via the convict function due to missing validation of parentKey. **Note:** This vulnerability derives from an incomplete fix of another [vulnerability](https://security.snyk.io/vuln/SNYK-JS-CONVICT-1062508)

    • Update to 6.2.3
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →