PT-2026-80271 · Npm · Gettext-Converter
Published
2026-08-20
·
Updated
2026-08-20
CVSS v4.0
6.9
Medium
| Vector | AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N |
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
gettext-converter@1.3.3. 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.Fix
Prototype Pollution
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Gettext-Converter