Junglewise Threat Intelligence

CVE-2022-22143: Mozilla Convict prototype pollution in configuration handling

CVE-2022-22143 · Severity: low · CVSS 3.1 · Published 2022-04-20

Technologies: convict (npm). Vendors: Mozilla, npm.

Executive brief

Convict is a Node.js library used to manage application configuration validation and defaults. A prototype pollution vulnerability allows an attacker to inject malicious attributes into configuration objects, potentially modifying or crashing the application. While the library is primarily designed for admin-controlled configuration files, a non-technical administrator could be tricked into adding malicious code to config files, leading to attribute injection and unauthorized behavior.

Technical details

The vulnerability is a prototype pollution flaw (CWE-1321) in how Convict processes configuration input without properly validating or restricting modifications to object prototype attributes. An attacker can craft malicious configuration data that injects attributes into the prototype chain, affecting other components that rely on the configuration object. The attack vector is local and requires no privileges or user interaction, but depends on an attacker being able to inject or modify configuration files. The vulnerability allows arbitrary attribute injection, type confusion leading to crashes, and potential information disclosure. The issue is patched in Convict version 6.2.3; all earlier versions are affected and users should upgrade immediately.

Affected products

  • Mozilla Convict < 6.2.3

Timeline

  • 2022-04-20: disclosed
  • 2022-04-20: patched: Patch available in Convict 6.2.3

References

Related threats