Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessInfluence namespace value in target app
-
DeliverySupply ns beginning with a slash
-
ExploitTemplate joins into protocol-relative '//' URL
-
ExecutionBrowser fetches attacker-hosted translation JSON
-
ImpactInjected content renders as UI/XSS
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Input neutralization, injection prevention
|
| Exploitation Conditions | Three conditions must all hold, per the vendor advisory: (1) the loadPath or addPath template must place {{ns}} directly after a leading '/', e.g. '/{{ns}}/{{lng}}.json'; (2) the attacker must control the namespace (ns) value, which applications usually set in code rather than from user input; and (3) the code must run in a browser, because in Node fetch('//host/...') fails with no base URL to resolve against. For the result to be XSS rather than mere content injection, the application must additionally render translations as HTML. Explicitly NOT affected (confirmed by the maintainer): the default template '/locales/{{lng}}/{{ns}}.json', any template with an origin, any template with a fixed path segment before {{ns}}, and protocol-relative CDN templates like '//cdn.example/{{lng}}/{{ns}}.json'. An ns of '//evil.example' is rejected by the per-value check; only a single leading '/' (allowed for nested namespaces like 'a/b') slips through. |
| Impact | All signals converge on LOW real-world priority. The supplied CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N) scores only 2.3: network-reachable and unauthenticated, but with an attack requirement (AT:P) and passive user interaction (UI:P), and impact limited to low integrity on the vulnerable system (VI:L) - no confidentiality or availability impact. The vuln.today decision label is 'monitor', consistent with the low score. A working PoC exists and was re-verified reproducing on 2026-10-14, but the input provides no EPSS score and the CVE is not in CISA KEV, so there is no evidence of widespread or active exploitation - PoC availability and active exploitation are distinct, and only the former is present here. The decisive risk limiter is the narrow precondition stack confirmed by the maintainer: the app must use a loadPath/addPath template placing {{ns}} directly after a leading slash, the attacker must control the namespace value (which applications typically set in code, not from user input), only browsers are affected (Node fetch of '//host' fails with no base URL), and XSS additionally requires the app to render translations as HTML. This is a genuine but conditional flaw, not a high-urgency issue. No signals conflict; the main gap is that no EPSS value was supplied. |
| Exploit ScenarioDerived | An application running i18next-http-backend < 4.0.3 in a browser with a template like '/{{ns}}/{{lng}}.json' derives its namespace from attacker-influenced input; the attacker supplies ns='/evil.example', which joins the template's leading slash into '//evil.example/en.json', a protocol-relative URL the browser resolves to the attacker's origin and fetches as translation JSON. The attacker-hosted translations inject content into the UI, becoming stored XSS wherever the app renders translations as HTML. A minimal PoC is published in the advisory and was re-verified reproducing on 2026-10-14. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 23, 2026
Protocol-relative URL injection in i18next-http-backend before 4.0.3 lets an attacker who controls an i18next namespace value redirect translation fetches to an attacker-chosen origin when the loadPath/addPath template places {{ns}} directly after a leading slash. The per-value validation added for the earlier GHSA-xvq9-wjp8-hwqf fix rejects '//evil.example' but still permits a single leading '/', which the template's own '/' turns into '//evil.example/en.json' - a URL browsers resolve off-origin, yielding translation content injection and, where translations are rendered as HTML, cross-site scripting. Exploitation requires the non-default template, attacker-controlled namespace input (applications usually set namespaces in code), and a browser context; Node is not affected, the default '/locales/{{lng}}/{{ns}}.json' template is not affected, and the issue is not known to be exploited in the wild. A minimal proof-of-concept is published in the advisory and was re-verified against 4.0.2, and the release 4.0.3 contains the fix.
RemediationAI
Upgrade i18next-http-backend to 4.0.3, which contains the fix commit 042c3d4e4e9d73b2ae3aa76b22cb45d48f1e35b7 and now validates the fully interpolated URL instead of individual placeholder values; the advisory and changelog for that release document the change. Where upgrading is not immediately possible, the practical mitigations are to avoid any loadPath/addPath template that places {{ns}} directly after a leading '/' (the default '/locales/{{lng}}/{{ns}}.json' and templates with a fixed segment before {{ns}} were never affected, so reverting to them removes the vector), and to ensure namespace and language values are hard-coded or otherwise never derived from user input, since the flaw requires attacker control of ns. If translations are rendered as HTML anywhere in the UI, rendering them as text removes the XSS escalation and leaves only content injection. Note that Node deployments are not exploitable via this path because fetch cannot resolve a protocol-relative URL without a base, so browser-facing deployments are the priority. Remediation references: https://github.com/i18next/i18next-http-backend/security/advisories/GHSA-9jhj-wvmw-cfx5, https://www.vulncheck.com/advisories/i18next-http-backend-4.0.2-protocol-relative-url-injection-via-namespace-in-interpolateurl.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
i18next-http-backend builds translation request URLs by string-interpolating lng and ns values into user-supplied loadPath/addPath templates (default '/locales/{{lng}}/{{ns}}.json'). Following GHSA-xvq9-wjp8-hwqf, version 4.0.2 added per-value validation: lng may not contain '/', '@' or ':'-style separators, and ns may not contain '//' or '@', with both rejected for '..', backslashes, control characters and reserved delimiters. A single leading '/' is deliberately allowed in ns so nested namespaces such as 'a/b' keep working. The flaw is a CWE-74 injection variant: the check validates the substituted value in isolation and never inspects the assembled URL, so a template like '/{{ns}}/{{lng}}.json' concatenates its own '/' with the value's leading '/' and produces '//evil.example/en.json'. Browsers resolve a leading '//' as a protocol-relative reference, inheriting the page scheme and pointing at a different host, so attacker-hosted translation JSON is loaded; in Node there is no base URL and fetch('//host/...') fails, which limits exposure to browser deployments. The 4.0.3 fix adds a LEADING_DOUBLE_SLASH check on the interpolated result, permitting a leading '//' or '\\' only when the template itself starts that way, which preserves protocol-relative CDN templates such as '//cdn.example/{{lng}}/{{ns}}.json'. The same class of path-root manipulation was fixed in i18next-fs-backend 2.6.9.
Know when I18Next gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
AC:H because it needs a vulnerable template placing {{ns}} after a leading slash plus attacker-controlled ns; UI:R as it loads on page use; PR:N for the attacker; impact limited to content-injection integrity (I:L), no C or A.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
i18next-http-backend 4.0.2 contains an incomplete fix in interpolateUrl() that allows attackers to redirect translation requests by supplying an ns value starting with a slash. Attackers controlling the namespace value can form a protocol-relative URL in loadPath or addPath templates to load attacker-hosted translations, enabling UI content injection and cross-site scripting.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Remote prototype pollution in i18next-http-middleware before 3.9.7 allows unauthenticated attackers to write to Object.p
Prototype pollution in i18next-fs-backend versions prior to 2.6.6 allows remote attackers to write arbitrary properties
Path traversal and URL-structure injection in i18next-http-backend before 3.0.5 let remote unauthenticated attackers who
Object.prototype pollution in i18next-http-middleware prior to 3.9.3 allows remote unauthenticated attackers to inject a
Path traversal in i18next-fs-backend allows remote unauthenticated attackers to read arbitrary files (including /etc/pas
DOM-based cross-site scripting (XSS) in i18nextify versions prior to 4.0.8 allows remote attackers to execute arbitrary
Query-parameter injection in i18next-http-backend before 4.0.4 lets attacker-controlled language or namespace values add
URL injection and server-side request forgery (SSRF) in i18next-http-backend prior to 4.0.2 allows attacker-controlled l
EUVD-2026-108941
GHSA-9jhj-wvmw-cfx5
NVD
CVE.org
EPSS
Exploit-DB