---
id: CVE-2026-63402
title: 'i18next: Shared built-in corruption through inherited-key deepExtend recursion'
summary: >-
  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`.…
severity: medium
cvss: 5.9
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H'
cvssSource: cna
cwe:
  - CWE-471
  - CWE-1321
vendor: i18next
product: i18next
affected:
  - i18next < 26.3.4
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T02:59:48.748272Z'
exploitAvailable: true
published: '2026-10-30'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T03:00:11.398Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-63402'
references:
  - url: 'https://github.com/i18next/i18next/security/advisories/GHSA-6jcc-5g8w-32mx'
    label: 'https://github.com/i18next/i18next/security/advisories/GHSA-6jcc-5g8w-32mx'
  - url: >-
      https://github.com/i18next/i18next/commit/642137b7786d83661ec3ee53027798dc4b81d30a
    label: >-
      https://github.com/i18next/i18next/commit/642137b7786d83661ec3ee53027798dc4b81d30a
  - url: 'https://github.com/i18next/i18next/tree/v26.3.4'
    label: 'https://github.com/i18next/i18next/tree/v26.3.4'
tags:
  - cve.org
  - exploit-available
epss: 0.00264
epssPercentile: 0.18352
ingestedAt: '2026-11-05T21:36:00.743Z'
---

## Overview

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

- `i18next < 26.3.4`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
