Summary
CVE-2026-56677 is a server-side request forgery (SSRF) vulnerability in 9Router, affecting the /api/auth/oidc/test endpoint used to test OIDC identity provider configuration. The endpoint forwards an attacker-supplied issuerUrl value to the application’s OIDC discovery fetch routine without restricting requests to private, loopback, or internal network destinations. The flaw carries a CVSS v3.1 base score of 8.6 (High) and is exploitable over the network without authentication when dashboard login is disabled.
Technical details
- Root cause: The
POST /api/auth/oidc/testendpoint passes the user-controlledissuerUrlparameter directly to thefetchOidcDiscovery()function without validating or blocking private/loopback/internal IP ranges. - Trigger conditions: The endpoint can be reached without prior authentication when the dashboard’s login requirement is disabled, allowing an attacker to submit arbitrary URLs for the server to fetch.
- Attack vector: Network-based, low complexity, no privileges or user interaction required (AV:N/AC:L/PR:N/UI:N).
- Impact: Attackers can perform blind SSRF/port scanning of internal network services by observing response behavior, and can potentially manipulate or reflect responses that mimic OpenID configuration data back to the requester, affecting confidentiality and integrity of internal systems reachable from the 9Router host.
Affected software
- 9Router (decolua) — version 0.5.4 and all earlier versions.
Severity
- CVSS v3.1 Base Score: 8.6 (High)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L - Weaknesses: CWE-306 (Missing Authentication for Critical Function), CWE-918 (Server-Side Request Forgery)
Mitigation and recommended actions
- Immediate: Upgrade 9Router to the patched release (0.5.6 or later, per the vendor advisory) that enforces authentication and destination validation on the OIDC test endpoint.
- If patching is not immediately possible:
- Ensure dashboard login is enabled/enforced so the
/api/auth/oidc/testendpoint is not reachable without authentication. - Restrict network egress from the 9Router host so it cannot reach internal loopback (127.0.0.0/8, ::1) or private address ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16).
- Restrict
issuerUrlsubmissions to HTTPS and known/allow-listed OIDC provider domains where possible via a reverse proxy or WAF rule.
- Ensure dashboard login is enabled/enforced so the
How IONIX identifies potentially affected assets
IONIX matches the following signal against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- Page title:
9Router

