/

CVE-2026-103530

Severity:

HIGH RISK

(7.3)

SSRF (CWE-918) in 9Router Search Endpoint Function

CVE-2026-103530

Deferred

Vulnerability type

Category:

Server-Side Request Forgery

CWE:

CWE-918

Impact:

Unauthorized Server-Side Network Requests

Severity:

HIGH RISK

(7.3)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

A server-side request forgery vulnerability in decolua 9Router can cause the Search Endpoint to request attacker-controlled destinations through the provider_options.baseUrl value.

When the endpoint accepts a remotely influenced base URL without sufficient validation, an attacker may access internal services or other network resources reachable from the server.

Affected context

This issue affects 9Router deployments through the Search Endpoint and its use of the fetch function in src/shared/utils/ssrfGuard.js. The risk is present where provider_options.baseUrl can be influenced by an external requester and the application permits requests to destinations that should not be reachable through the server.

Exploit preconditions

  • Attack surface: The remotely accessible Search Endpoint
  • Required access: Ability to submit or influence request parameters containing provider_options.baseUrl
  • Trigger point: Server-side fetching performed by the Search Endpoint
  • Why exploitation is possible: Insufficient destination validation may allow the server to issue requests to attacker-selected or otherwise restricted network locations

Why this happens

The vulnerability results from treating a caller-influenced URL as a permissible server-side request destination without sufficiently enforcing trust boundaries.

This behavior maps to CWE-918: Server-Side Request Forgery, where an application makes network requests based on attacker-controlled input. Insecure URL validation, incomplete filtering, or reliance on client-side restrictions can allow requests to internal, local, or otherwise unintended services.

Potential impact

  • An attacker may retrieve responses from internal services
  • The application could expose metadata or other network-accessible information
  • The server may be used to reach administrative or otherwise restricted endpoints
  • Internal services could receive unintended requests originating from the application
  • Network segmentation assumptions may be weakened

General mitigation guidance

Mitigation generally focuses on reducing input control over outbound destinations and enforcing a narrowly defined request policy.

Common defensive patterns include:

  • Prefer fixed, allowlisted provider destinations over caller-supplied URLs
  • Parse and validate URLs using a centralized policy that restricts schemes, hosts, ports, and redirect targets
  • Resolve hostnames and prevent access to loopback, link-local, private, and other restricted address ranges
  • Revalidate destinations after redirects and account for DNS resolution changes
  • Route outbound requests through controlled egress proxies or network policies
  • Apply least-privilege network permissions to the service
  • Avoid returning unrestricted upstream responses to callers

How teams detect issues like this

Organizations can look for SSRF risks through:

  • Static analysis rules identifying network clients that consume request-derived URLs
  • Code review checks for URL validation, redirect handling, DNS rebinding, and private-address filtering
  • Runtime logging of outbound destinations, resolved addresses, redirects, and unusual request patterns
  • Egress policies that alert on or block connections to internal and metadata address ranges
  • Security tests that verify allowlists and reject restricted schemes, hosts, ports, and address ranges
  • Automated application security review tools that flag attacker-controlled inputs reaching outbound request functions

Sources

SourceLink
github.comgithub.com/decolua/9router/
github.comgithub.com/decolua/9router/issues/3714
github.comgithub.com/decolua/9router/pull/3723
vuldb.comvuldb.com/cve/CVE-2026-103530
vuldb.comvuldb.com/submit/956865
vuldb.comvuldb.com/vuln/412342
vuldb.comvuldb.com/vuln/412342/cti

Frequently asked

questions

Yes. The described attack can be initiated remotely when an attacker can reach the Search Endpoint and influence provider_options.baseUrl.

Not necessarily. The server performs the outbound request, so the attacker may be able to reach destinations that are accessible from the server but not directly from the attacker.

Avoid accepting arbitrary caller-supplied URLs. Use a strict destination allowlist and enforce centralized validation for schemes, hosts, ports, resolved addresses, and redirects.

Combine secure URL handling with outbound network restrictions, least-privilege service permissions, comprehensive logging, and tests for internal-address and redirect bypasses.

Find out what's already
exploitable in your codebase.