mediumVulnerability

CVE-2026-55451

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

Properties

ghsa_id
GHSA-f4jp-rw7w-ccwg
severity
medium
summary
gettext-converter: Prototype pollution in js2i18next() via crafted translation keys
cve_id
CVE-2026-55451
is_ghsa_only
false
ghsa_published
2026-08-20T20:11:13Z
source_url
https://github.com/advisories/GHSA-f4jp-rw7w-ccwg
ghsa_updated
2026-08-20T20:11:15Z

Related Entities (4)

VULNERABLE_TO (1)

[Software]npm/gettext-converter

AFFECTS (1)

[Software]npm/gettext-converter

HAS_WEAKNESS (1)

[Weakness]Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

REPORTED_BY (1)

[Source]GitHub Advisory Database

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-55451 — Ninja Signal Threat Intelligence | Ninja Signal