GHSA-cmh5-qc8w-xvcq
Dashboard / Vulnerabilities / GHSA-cmh5-qc8w-xvcq
Summary: Cross-Site Scripting in i18next
Details: Affected versions of `i18next` may fail to sanitize user input when certain configuration options are used. When using the `.init` method, passing interpolation options without passing an `escapeValue` will default to `undefined` rather than the assumed `true`. ## Proof of Concept ```js var init = i18n.init({ interpolation: { prefix: "__", suffix: "__", escapeValue: true } }, function(){ var test = i18n.t('__firstName__ __lastName__', { firstName: 'Bob', lastName: '["foo","bar"]', }); console.log(test); }); ``` When `escapeValue` is explicitly passed, the result of `test` is: ```html <script>alert(1)</script> Johnson ``` This is supposed to be the default. However, if `escapeValue` is not included, the result is the unescaped string: ```html <script>alert(1)</script> Johnson ``` ## Recommendation Update to version 3.4.4 or later.
References: https://nvd.nist.gov/vuln/detail/CVE-2017-16010, https://github.com/i18next/i18next/pull/826, https://github.com/advisories/GHSA-cmh5-qc8w-xvcq, https://www.npmjs.com/advisories/326
Affected packages
Package
Name: i18next
Purl: pkg:npm/i18next
Affected ranges
Type: SEMVER
Events:
