Skip to content
OpenAdvisories
Medium · 5.9 CVE-2026-63402 EUVD-2026-114546

i18next: Shared built-in corruption through inherited-key deepExtend recursion

Published Oct 30, 2026 · Updated Nov 5, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
i18next i18next < 26.3.4 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 node-i18next 26.7.1-1 —
Debian 13 node-i18next No fix yet —
Debian 12 node-i18next No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 node-i18next No fix yet —
Ubuntu 26.04 LTS node-i18next No fix yet —
Ubuntu 24.04 LTS node-i18next No fix yet —
Ubuntu 22.04 LTS node-i18next No fix yet —
Ubuntu 20.04 LTS node-i18next No fix yet —

References