Katalog CVE

CVE-2026-63402

ŚrednieCVSS 5.9
Opublikowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.26%

Percentyl 18 - wyżej niż 18% wszystkich znanych CVE

Streszczenie

W bibliotece i18next w wersjach przed 26.3.4 funkcja deepExtend w src/utils.js sprawdza istnienie właściwości operatorem in i rekurencyjnie wchodzi w odziedziczone wbudowane obiekty osiągalne przez Object.prototype. Jeśli aplikacja jawnie przekaże dane zasobów kontrolowane przez atakującego do addResourceBundle z opcjami deep: true i overwrite: true, klucze takie jak hasOwnProperty, toString czy valueOf mogą wybrać współdzielone odziedziczone funkcje wbudowane, a zagnieżdżona wartość może nadpisać właściwość tych obiektów w całym procesie. Przykładowo uczynienie Object.prototype.hasOwnProperty.call niewoływalnym powoduje, że kolejne użycia, w tym wewnętrzne mechanizmy i18next, rzucają TypeError, co prowadzi do nieodwracalnej odmowy usługi i ograniczonego wpływu na integralność.

Ocena ryzyka

Aplikacje, które przekazują niezaufane dane zasobów do addResourceBundle z deep: true i overwrite: true, mogą zostać doprowadzone do trwałej awarii procesu (DoS) oraz ograniczonej utraty integralności. Domyślne wywołania bez głębokiego scalania lub z overwrite fałszywym nie są podatne, a standardowe backendy i integracje i18next nie używają podatnej konfiguracji.

Rekomendacja

Zaktualizuj i18next do wersji 26.3.4 lub nowszej. Unikaj przekazywania niezaufanych danych zasobów do addResourceBundle z jednoczesnym deep: true i overwrite: true.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS