~ / search / GHSA-f4jp-rw7w-ccwg

GHSA-f4jp-rw7w-ccwg

gettext-converter: Prototype pollution in js2i18next() via crafted translation keys

Source: GitHub Advisory Database (reviewed) Moderate CVE-2026-55451

Packages

EcosystemPackageAffectedFixed in
npm gettext-converter < 1.3.3 1.3.3

Details

As written in the advisory (Markdown source, shown as plain text).

### 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`.

References

External links from the advisory. They lead to third-party sites.