GitHub Advisoryadvisory · npm

GHSA-f4jp-rw7w-ccwg gettext-converter: Prototype pollution in js2i18next() via crafted translation keys

MEDIUM Published 2026-08-20 Modified 2026-08-20 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