CVE-2026-57575 Overview
Misskey is an open source, federated social media platform. CVE-2026-57575 is a Server-Side Request Forgery (SSRF) vulnerability [CWE-918] in the UrlPreviewService component. The flaw exists because the service establishes outbound HTTP connections before validating the target IP address. A remote unauthenticated attacker can coerce the Misskey server into initiating requests to loopback, private, or link-local addresses. According to the vendor advisory, IP validation occurs after the request is sent and the response is subsequently rejected, so sensitive internal data is not believed to be transmitted back to the attacker. The issue is fixed in version 2026.6.0.
Critical Impact
Unauthenticated attackers can force the Misskey backend to send HTTP requests to internal network resources through the URL preview feature, enabling internal service probing.
Affected Products
- Misskey (federated social media platform)
- All versions prior to 2026.6.0
- The UrlPreviewService module in packages/backend/src/server/web/UrlPreviewService.ts
Discovery Timeline
- 2026-07-10 - CVE-2026-57575 published to the National Vulnerability Database (NVD)
- 2026-07-14 - Last updated in NVD database
Technical Details for CVE-2026-57575
Vulnerability Analysis
The vulnerability resides in the fetchSummary method of UrlPreviewService. When a user submits a URL for preview generation, Misskey invokes the @misskey-dev/summaly library to fetch remote metadata. In vulnerable releases, the HTTP agent used for the outbound request is only configured when this.config.proxy is set. Without a proxy configured, agent is undefined, meaning the request bypasses the HttpRequestService agents that enforce network restrictions.
The result is that Misskey issues outbound HTTP requests without applying private-IP filtering. Attackers can supply URLs pointing at 127.0.0.1, RFC1918 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), or link-local ranges (169.254.0.0/16), including cloud metadata endpoints such as 169.254.169.254. The vendor reports that IP validation runs after the request completes, so response data is discarded before reaching the attacker. However, side effects, timing signals, and connection behavior can still leak internal network topology.
Root Cause
The root cause is inconsistent enforcement of the restricted HTTP agent. The agent that performs SSRF filtering was only applied when a proxy was configured, leaving direct-connection deployments exposed. IP address validation was also performed after the outbound connection rather than before.
Attack Vector
Exploitation requires no authentication. An attacker submits a crafted URL to a Misskey endpoint that invokes URL preview generation. The Misskey backend then connects to the attacker-controlled address, which can redirect or point to internal services.
// Patch from packages/backend/src/server/web/UrlPreviewService.ts
// Source: https://github.com/misskey-dev/misskey/commit/1eac4ccf513a067b9f7b7d123057c09a389fccee
private async fetchSummary(url: string, meta: MiMeta, lang?: string): Promise<SummalyResult> {
- const agent = this.config.proxy
- ? {
- http: this.httpRequestService.httpAgent,
- https: this.httpRequestService.httpsAgent,
- }
- : undefined;
-
const { summaly } = await import('@misskey-dev/summaly');
return summaly(url, {
followRedirects: this.meta.urlPreviewAllowRedirect,
lang: lang ?? 'ja-JP',
- agent: agent,
+ agent: {
+ http: this.httpRequestService.httpAgent,
+ https: this.httpRequestService.httpsAgent,
+ },
userAgent: meta.urlPreviewUserAgent ?? this.summalyDefaultUserAgent,
operationTimeout: meta.urlPreviewTimeout,
contentLengthLimit: meta.urlPreviewMaximumContentLength,
The fix unconditionally assigns httpAgent and httpsAgent from HttpRequestService, which enforces network restrictions on every outbound preview request.
Detection Methods for CVE-2026-57575
Indicators of Compromise
- Outbound HTTP connections from the Misskey backend process targeting loopback (127.0.0.0/8), private (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), or link-local (169.254.0.0/16) address ranges.
- URL preview API requests that resolve to internal DNS names or cloud metadata endpoints such as 169.254.169.254.
- Elevated error rates in UrlPreviewService logs corresponding to rejected internal responses.
Detection Strategies
- Review reverse proxy and application logs for high volumes of URL preview requests originating from a small set of remote IP addresses.
- Monitor DNS resolution activity from Misskey hosts for unusual internal or metadata hostnames.
- Correlate outbound connection telemetry with URL preview request timestamps to identify SSRF probing patterns.
Monitoring Recommendations
- Log all URLs submitted to the preview endpoint alongside the resolved destination IP.
- Alert on connection attempts from the Misskey service account to any RFC1918 or link-local address.
- Track cloud metadata service (169.254.169.254) access from application containers or VMs.
How to Mitigate CVE-2026-57575
Immediate Actions Required
- Upgrade Misskey to version 2026.6.0 or later without delay.
- Audit historical URL preview logs for requests targeting internal address ranges.
- Restrict egress from Misskey backend hosts to only the destinations required for federation.
Patch Information
The fix is available in Misskey 2026.6.0. Refer to the GitHub Security Advisory GHSA-jvcx-f39m-5xrj, the patch commit, and the 2026.6.0 release notes. The patch ensures the restricted HTTP agent from HttpRequestService is always used, regardless of proxy configuration.
Workarounds
- Place the Misskey backend behind an egress firewall that blocks connections to loopback, RFC1918, and link-local ranges.
- Configure an outbound HTTP proxy so that the vulnerable code path enters the branch that applies the restricted agent.
- Disable URL preview functionality in the Misskey administrative settings until the upgrade is applied.
# Example iptables egress restriction for the Misskey service user
iptables -A OUTPUT -m owner --uid-owner misskey -d 127.0.0.0/8 -j REJECT
iptables -A OUTPUT -m owner --uid-owner misskey -d 10.0.0.0/8 -j REJECT
iptables -A OUTPUT -m owner --uid-owner misskey -d 172.16.0.0/12 -j REJECT
iptables -A OUTPUT -m owner --uid-owner misskey -d 192.168.0.0/16 -j REJECT
iptables -A OUTPUT -m owner --uid-owner misskey -d 169.254.0.0/16 -j REJECT
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

