Hi,
The following vulnerability was published for node-i18next.
CVE-2026-63402[0]:
| i18next is an internationalization framework for JavaScript. Prior
| to version 26.3.4, `deepExtend` in `src/utils.js` checks property
| existence with the in operator and recurses into inherited built-ins
| reached through `Object.prototype`. An application must explicitly
| pass attacker-controlled resource data to `addResourceBundle(lng,
| ns, data, deep, overwrite)` with both `deep: true` and `overwrite:
| true`. Source keys such as `hasOwnProperty`, `toString` and
| `valueOf` can then select shared inherited built-in function
| objects, and a nested value can overwrite a property of those
| objects process-wide. For example, making
| `Object.prototype.hasOwnProperty.call` non-callable causes
| subsequent uses, including i18next internals, to throw TypeError,
| resulting in unrecoverable denial of service and limited integrity
| impact. The `__proto__`/`constructor` guard does not prevent this
| mechanism because the corruption target is an inherited built-in
| function rather than the prototype object itself. Default calls
| without deep merging or with overwrite falsy are unaffected, and no
| standard i18next backend or integration uses the vulnerable
| configuration. This issue is distinct from the setPath/key-walking
| prototype-pollution flaws in i18next-fs-backend (CVE-2026-48713) and
| i18next-http-middleware (CVE-2026-48714). This issue is fixed in
| version 26.3.4.
If you fix the vulnerability please also make sure to include the
CVE (Common Vulnerabilities & Exposures) id in your changelog entry.
For further information see:
[0] https://security-tracker.debian.org/tracker/CVE-2026-63402
https://www.cve.org/CVERecord?id=CVE-2026-63402
[1] https://github.com/i18next/i18next/security/advisories/GHSA-6jcc-5g8w-32mx
[2] https://github.com/i18next/i18next/commit/642137b7786d83661ec3ee53027798dc4b81d30a
Please adjust the affected versions in the BTS as needed.
Regards,
Salvatore