CVE-2026-55451: gettext-converter: Prototype pollution in js2i18next() via crafted translation keys
js2i18next() is vulnerable to prototype pollution. When converting translations, it splits nested keys on the key separator (default ##) and uses each segment as a dynamic object key while building the output object. A key whose segment is __proto__ (e.g. __proto__##gcPolluted) causes the converter to resolve Object.prototype as the nested write target and assign the translated value onto it, polluting Object.prototype for the whole runtime.
Any application that converts translation data (PO / i18next JS objects) originating from an untrusted or user-controlled source is affected. Prototype pollution can lead to denial of service and, depending on the surrounding application, may enable further attacks.
References
- github.com/advisories/GHSA-f4jp-rw7w-ccwg
- github.com/locize/gettext-converter/commit/df90c3b93e51faef68891d97b626544f619c5b31
- github.com/locize/gettext-converter/issues/15
- github.com/locize/gettext-converter/releases/tag/v1.3.3
- github.com/locize/gettext-converter/security/advisories/GHSA-f4jp-rw7w-ccwg
- nvd.nist.gov/vuln/detail/CVE-2026-55451
Code Behaviors & Features
Detect and mitigate CVE-2026-55451 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →