CVE-2017-16008: Cross-Site Scripting in i18next

i18next Updated 02 Oct 2025

Summary

09/11/2018
Yes i
Moderate
6.1

CVE-2017-16008: Cross-Site Scripting in i18next. Affects i18next versions < 1.10.3. Fixed in 1.10.3. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Lume, the Habilume companion Habilume Habit tracker with a companion that grows with you Complete habits, earn Lume Points, and watch your Lume grow as you stay consistent. App Store Google Play

Background

The i18next package is a popular npm package used for internationalization (i18n) in JavaScript applications. It provides a simple and flexible way to translate and localize user interfaces. The package allows developers to define dictionaries with key-value pairs for different languages, which can be accessed and rendered in the application. However, versions of i18next prior to 1.10.3 are vulnerable to a cross-site scripting (XSS) attack.

Vulnerability Detail

The vulnerability in i18next arises from the injection of untrusted user input into dictionary key names. This allows an attacker to inject malicious code, such as JavaScript, into the translated strings. When these strings are rendered in the application, the injected code gets executed in the context of the user's browser, leading to potential XSS attacks. The vulnerability is rated as moderate in severity (CWE-79) and can have serious consequences, including unauthorized access to sensitive user data or the manipulation of user interfaces.

How To Fix

Minimum fixed version

1.10.3

This is the first release that contains the fix.

npm install i18next@1.10.3

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

If updating to the latest version of i18next is not immediately feasible, developers can apply a workaround by manually escaping user input in dictionary key names. This can be done by using appropriate HTML encoding or escaping functions to ensure that any special characters are properly handled. However, this workaround is not recommended as it may be error-prone and can introduce other security risks. It is strongly advised to update to the latest version of the package as soon as possible.

Conclusion

The i18next package is vulnerable to a cross-site scripting (XSS) attack when untrusted user input is injected into dictionary key names. This can lead to serious security risks, including unauthorized access to sensitive data and the manipulation of user interfaces. It is crucial for developers to update to the latest version of the package (1.10.3 or later) to mitigate this vulnerability. For further assistance and support in vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for i18next →

Share this vulnerability

FAQ

i18next is an npm package used for internationalization in JavaScript applications. It provides a convenient way to translate and localize user interfaces.

Cross-site scripting is a type of security vulnerability where an attacker can inject malicious scripts into web pages viewed by other users. This can lead to unauthorized access to sensitive information or the manipulation of user interfaces.

The vulnerability in i18next arises from the injection of untrusted user input into dictionary key names. This allows an attacker to inject malicious code, such as JavaScript, into the translated strings.

The potential consequences of this vulnerability include unauthorized access to sensitive user data, manipulation of user interfaces, and the execution of malicious code in the context of the user's browser.

To fix this vulnerability, it is recommended to update to version 1.10.3 or later of the i18next package. This version includes a fix that properly escapes user input in dictionary key names.

Related vulnerabilities

Recent vulnerabilities recorded for i18next.

Sponsored Lume, the Habilume companion Habilume Habit tracker with a companion that grows with you Complete habits, earn Lume Points, and watch your Lume grow as you stay consistent. App Store Google Play

How To Fix

Minimum fixed version

1.10.3

This is the first release that contains the fix.

npm install i18next@1.10.3

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback