i18next-fs-backend, Prototype Pollution, CVE-2026-48713 (Critical) -DC-Jun2026-630

Listen to this Post

How CVE-2026-48713 Works

i18next-fs-backend is a backend layer for i18next that loads translations from the filesystem in Node.js and Deno. Versions prior to 2.6.6 are vulnerable to prototype pollution via crafted missing-key strings when used to persist missing translation keys.
The vulnerability exists in the `Backend.writeFile()` function, which processes missing translation keys that need to be persisted. When a missing key is encountered, the function splits the key string on the configured `keySeparator` (default is .) before calling the internal `setPath()` walker. This walker, implemented as `getLastOfPath` in lib/utils.js, traverses the object path to write the value.
The critical flaw is that the walker did not guard against unsafe segments. An attacker can craft a missing-key string like "__proto__.polluted", which gets split into `[“__proto__”, “polluted”]` and walked straight into Object.prototype. This allows the attacker to write arbitrary properties onto the global object prototype.
The attack chain requires three conditions: (1) i18next-fs-backend ≤ 2.6.5 is configured as the backend, (2) i18next-http-middleware’s `missingKeyHandler` (or another route forwarding untrusted input to `i18next.t()` with saveMissing: true) is reachable by untrusted users, and (3) the default `keySeparator` splitting behavior is in use (i.e., `keySeparator` is not false).
The companion vulnerability CVE-2026-48714 affects i18next-http-middleware versions prior to 3.9.7, where the `missingKeyHandler` blocked literal keys like `__proto__` but failed to reject dotted variants such as "__proto__.polluted".
Depending on the host application, polluted prototype properties may cause crashes, corrupted translation behaviour, configuration poisoning, or bypasses of property-based security checks.

DailyCVE Form:

Platform: Node.js / Deno
Version: ≤ 2.6.5
Vulnerability: Prototype Pollution
Severity: Critical (CVSS 9.1)
date: 2026-06-15

Prediction: 2026-06-16

What Undercode Say

Analytics:

Check i18next-fs-backend version
npm list i18next-fs-backend
Check i18next-http-middleware version
npm list i18next-http-middleware
Audit for prototype pollution vulnerabilities
npm audit | grep -i prototype

Exploit:

// Crafted missing-key payload sent via missingKeyHandler
// POST /missing-key-endpoint
{
"key": "<strong>proto</strong>.polluted",
"value": "attacker-controlled"
}
// The key is split on '.' -> ["<strong>proto</strong>", "polluted"]
// Walked into Object.prototype, setting Object.prototype.polluted
Example curl exploit against exposed missingKeyHandler
curl -X POST https://target.com/i18next/missing \
-H "Content-Type: application/json" \
-d '{"key":"<strong>proto</strong>.isAdmin","value":true}'

Protection:

// Upgrade to patched versions
npm install [email protected]
npm install [email protected]
// Workaround: Disable keySeparator
i18next.init({
keySeparator: false // Note: disables nested translation keys
});
// Workaround: Disable missing-key persistence
i18next.init({
saveMissing: false // Prevents writing missing keys
});
// Workaround: Filter request body before missingKeyHandler
app.use('/i18next/missing', (req, res, next) => {
const unsafe = ['<strong>proto</strong>', 'constructor', 'prototype'];
if (unsafe.some(k => req.body.key?.includes(k))) {
return res.status(400).send('Invalid key');
}
next();
});

Impact:

  • Remote prototype pollution allowing attackers to write arbitrary properties onto `Object.prototype`
    – Potential application crashes due to unexpected prototype mutations
  • Corrupted translation behaviour affecting all users
  • Configuration poisoning that may alter application behaviour
  • Bypass of property-based security checks (e.g., `if (user.isAdmin)` checks)
  • Chained exploitation with other vulnerabilities for increased impact

🎯Let’s Practice Exploiting & Learn Patching For Free:

🎓 Live Courses & Certifications:

Join Undercode Academy for Verified Certifications

🚀 Request a Custom Project:

Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top