CVE-2026-63402 Corrupción de objetos integrados compartidos en i18next mediante recursión de deepExtend sobre claves…
Antes de la versión 26.3.4, deepExtend en src/utils.js verifica la existencia de propiedades con el operador in y recurre a objetos integrados heredados a través de Object.prototype. Si una aplicación pasa datos de recursos controlados por el atacante a addResourceBundle con deep: true y overwrite: true, claves como hasOwnProperty, toString o valueOf pueden seleccionar funciones integradas compartidas y sobrescribir propiedades de forma global, lo que provoca denegación de servicio irrecuperable y un impacto…
CVSS 3.1
- Probabilidad de explotación · EPSS del 09/110,3 % · percentil 18
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
i18next
< 26.3.4
Qué hacer
- Verificá si usás i18next y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 5.9 MEDIA
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H
- Vector de ataqueRed
- Complejidad del ataqueAlta
- Privilegios requeridosBajos
- Interacción del usuarioNinguna
- AlcanceSin cambio
- ConfidencialidadNinguna
- IntegridadBaja
- DisponibilidadAlta
Descripción original
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.
Referencias (3)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.