Submit #956865: decolua 9router 0.5.55 Server-Side Request Forgeryinfo

Titledecolua 9router 0.5.55 Server-Side Request Forgery
DescriptionA vulnerability has been found in 9Router (an open-source local AI routing gateway, npm packages 9router/9router-app), up to version 0.5.55. The vulnerability exists in the /v1/search endpoint, where the client can override the search provider's service address via the provider_options.baseUrl parameter. The server subsequently makes a fetch() request to this user-supplied URL. Although the project implements SSRF protection (src/shared/utils/ssrfGuard.js), it contains multiple bypasses: DNS resolution is not performed, allowing loopback-resolving domains such as nip.io and localtest.me to pass; IPv6-mapped addresses like [::ffff:127.0.0.1] bypass detection due to URL normalization; a trailing dot (localhost.) avoids suffix matching; and redirects are followed by default without re-validation. An authenticated attacker (or unauthenticated in default requireApiKey=false deployments) can exploit these bypasses to send requests to arbitrary internal/loopback addresses. Additionally, loopback requests made by the server are marked by the middleware as trusted local sources (isLocalRequest=true), granting access to local /v1/* endpoints without credentials. The attack can also exfiltrate API keys of configured search providers via request headers.
Source⚠️ https://github.com/decolua/9router/issues/3714
User CAPT (UID 100253)
Submission09/02/2026 11:33 (28 days ago)
Moderation09/30/2026 21:06 (28 days later)
StatusAccepted
VulDB entry412342 [decolua 9Router up to 0.5.55 Search Endpoint ssrfGuard.js fetch provider_options.baseUrl server-side request forgery]
Points20

Want to stay up to date on a daily basis?

Enable the mail alert feature now!