GitHub Advisoryadvisory · npm
GHSA-f4jp-rw7w-ccwg gettext-converter: Prototype pollution in js2i18next() via crafted translation keys
MEDIUM
Official page ↗
- Aliases
- CVE-2026-55451
- Ecosystem
- npm
- Packages
- gettext-converter
- Severity
- Moderate
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
- Weaknesses
- CWE-1321
- Reviewed
- 2026-08-20
Affected packages
• npm gettext-converter: < 1.3.3 → fixed in 1.3.3
Description
Impact
`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.
Patches
Fixed in `[email protected]`. Key segments equal to `__proto__`, `constructor`, or `prototype` are now rejected before being used as dynamic object keys.
Workarounds
Upgrade to `1.3.3`. If upgrading is not immediately possible, sanitize/validate translation keys before passing them to `js2i18next()` and reject any key whose `##`-separated segments include `__proto__`, `constructor`, or `prototype`.
Related
Alias · CVE (1)
- CVE-2026-55451 gettext-converter provides gettext resource conversion utilities for JavaScript. vulnerability
Weakness · CWE (1)
- CWE-1321 Improperly Controlled Modification of Object Prototype Attributes weakness
References
- https://github.com/locize/gettext-converter/security/advisories/GHSA-f4jp-rw7w-ccwg web
- https://github.com/locize/gettext-converter/issues/15 web
- https://github.com/locize/gettext-converter/commit/df90c3b93e51faef68891d97b626544f619c5b31 web
- https://github.com/locize/gettext-converter package
- https://github.com/locize/gettext-converter/releases/tag/v1.3.3 web