Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessFind app with placeholder-leading loadPath template
-
DeliverySubmit crafted lng/ns value (e.g. http:127.0.0.1:8080)
-
ExploitPlaceholder interpolation forms absolute/protocol-relative URL
-
ExecutionBackend request leaves intended origin
-
ImpactReach internal service or attacker origin (SSRF)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Input neutralization, injection prevention
|
| Exploitation Conditions | Exploitation requires that the application configure a custom loadPath or addPath template that begins DIRECTLY with the {{lng}} or {{ns}} placeholder (e.g. '{{lng}}/{{ns}}.json'), with no leading '/' path and no origin prefix - only then does the placeholder occupy the URL's structural beginning. The attacker must also control the language or namespace value passed to i18next (e.g. via user-selectable locale), and inject a colon to form an absolute URL, or in browser contexts a leading double-slash in the namespace to form a protocol-relative URL. LIMITING FACTORS: the default '/locales/{{lng}}/{{ns}}.json' template and ANY template with a leading path segment or origin are NOT exploitable, because a colon inside a path segment has no structural meaning - this makes the vulnerable configuration uncommon and is why CVSS attack complexity is High. Versions 4.0.2 and later reject these values outright. |
| Impact | All signals point to a low-priority issue despite the network attack vector. The provided CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N, base 3.7) correctly reflects that exploitation requires no authentication but carries HIGH attack complexity and yields only LOW confidentiality impact with no integrity or availability effect. The AC:H rating is well-justified by the vulnerability's dependency on a specific, non-default configuration: the application must use a custom loadPath/addPath template that begins directly with the {{lng}} or {{ns}} placeholder. No EPSS score was provided in the input, so exploitation probability cannot be quantified. There is no CISA KEV listing and no public exploit code was identified - the only source-code artifact is the vendor's remediation commit, not a proof-of-concept. The signals are internally consistent rather than conflicting: a genuinely low-impact (information-disclosure-grade) SSRF/URL-injection flaw gated behind an uncommon configuration. This is a legitimate defense-in-depth fix to apply during normal patch cycles, not an emergency. |
| Exploit ScenarioDerived | A Node.js or browser application configures i18next-http-backend with a custom loadPath such as '{{lng}}/{{ns}}.json' (no leading slash or origin) and derives the language or namespace from user-controllable input. An attacker supplies a value like 'http:127.0.0.1:8080', which is interpolated into what becomes an absolute URL, causing the backend to issue a request to an attacker-chosen origin (SSRF) rather than the intended server. No public exploit code was identified at time of analysis; the only available code artifact is the vendor fix commit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 06, 2026
URL injection and server-side request forgery (SSRF) in i18next-http-backend prior to 4.0.2 allows attacker-controlled language or namespace values to redirect translation resource requests away from the intended origin, but only when the application configures a custom loadPath or addPath template that begins directly with the {{lng}} or {{ns}} placeholder. Because the placeholder must occupy the URL's structural beginning for a colon to form an absolute URL (or, in browsers, a double-slash namespace to form a protocol-relative URL), the default '/locales/{{lng}}/{{ns}}.json' template and any template with a leading path or origin prefix are unaffected; this uncommon configuration and the need to control the language/namespace input drive the High attack complexity rating. Impact is limited to low confidentiality loss (blind SSRF/URL injection with no integrity or availability effect), and all signals indicate a low-priority issue - no public exploit code and no confirmed active exploitation were identified at time of analysis. The issue is fixed in version 4.0.2.
RemediationAI
Primary fix: upgrade i18next-http-backend to version 4.0.2 or later (vendor-released patch: 4.0.2), available from the npm registry and tagged at https://github.com/i18next/i18next-http-backend/releases/tag/v4.0.2 with the advisory at https://github.com/i18next/i18next-http-backend/security/advisories/GHSA-xvq9-wjp8-hwqf; the underlying change is commit 07e028862b25d0b9251bf3cafb92be2d35285f85, which rejects ':' in lng and ns values and '//' in ns values. If immediate upgrade is not possible, apply compensating controls: (1) rewrite any custom loadPath/addPath so the placeholder is never at the structural start of the URL - prefix it with a leading '/' path segment or an absolute origin (e.g. change '{{lng}}/{{ns}}.json' to '/locales/{{lng}}/{{ns}}.json' or 'https://cdn.example.com/locales/{{lng}}/{{ns}}.json'); this fully removes the injection primitive with no functional loss, since the resulting fetch URL is the same for legitimate values; (2) validate language and namespace inputs on the server/application side before they reach i18next, allow-listing BCP-47 language tags and known namespace names and rejecting any value containing ':', '//', '..', '\\', '?', '#', '%', or whitespace - trade-off is that applications relying on dynamic or user-generated namespaces must maintain an explicit allow-list; (3) on Node.js servers, restrict outbound egress from the i18next process (deny requests to link-local/loopback/internal RFC1918 ranges and unexpected ports) - trade-off is that legitimate requests to internal translation servers or proxies must be explicitly permitted, and the SSRF remains viable if egress filtering is incomplete. Note that no public exploit code and no confirmed active exploitation were identified at time of analysis, so remediation can be scheduled as routine low-priority maintenance.
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 is the HTTP loading backend for the i18next internationalization framework, used in Node.js, browsers, and Deno to fetch translation JSON from a server. Request URLs are built by interpolating {{lng}} and {{ns}} placeholders into a loadPath or addPath template via a small regex-driven substitution routine that performs per-placeholder safety validation (rejecting '..', backslashes, control characters, and previously [?
% \s]). The root cause is CWE-74 (improper neutralization of special elements in output used by a downstream component) - specifically a URL-construction/injection flaw where the sanitizer did not account for the fact that when the placeholder sits at the structural start of the URL, a ':' becomes a scheme delimiter and a leading '//' becomes a protocol-relative authority. With a template like '{{lng}}/{{ns}}.json', an input such as 'http:127.0.0.1:8080' is interpolated into an absolute URL, causing the fetch (Node fetch/undici, XHR, or browser fetch) to leave the intended origin and issue a request to an attacker-chosen or internal destination. The fix in 4.0.2 extends the character blocklist to reject ':' in lng and ns values and additionally rejects '//' in ns values; the changelog notes there is no legitimate collateral because no BCP-47 language tag contains ':' and ':' is i18next's default nsSeparator, so no usable namespace name does either. CPE data (cpe:2.3:a:i18next:i18next-http-backend:*:*:*:*:*:*:*:*) identifies the i18next HTTP backend package across all versions before the fix as the affected component, independent of the consuming application.
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
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
AC:H because exploitation depends on a non-default placeholder-leading loadPath/addPath template; PR:N/UI:N as attacker-supplied lng/ns needs no auth; only limited confidentiality impact via SSRF, no integrity/availability effect.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
i18next-http-backend is a backend layer for i18next that loads translation resources in Node.js, browsers, and Deno. Prior to 4.0.2, attacker-controlled language or namespace values interpolated into a custom loadPath or addPath that begins directly with {{lng}} or {{ns}} can make colon-based input become an absolute URL or, in browsers, make a double-slash namespace become a protocol-relative URL. The resulting request can leave the intended origin and cause URL injection or server-side request forgery. The default /locales/{{lng}}/{{ns}}.json template and templates with a leading path or origin are not affected because the placeholder does not occupy the URL's structural beginning. This issue is fixed in version 4.0.2.
Blast Radius
ecosystem impact- 13 npm packages depend on i18next-http-backend (3 direct, 10 indirect)
Ecosystem-wide dependent count for version 4.0.2.
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
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
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
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
Path traversal and URL injection in i18next-http-backend prior to version 3.0.5 allows remote attackers to manipulate re
DOM-based cross-site scripting (XSS) in i18nextify versions prior to 4.0.8 allows remote attackers to execute arbitrary
EUVD-2026-93433
GHSA-xvq9-wjp8-hwqf
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB