Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft e621ng URL with host/protocol/port params
-
DeliveryDeliver link to victim (forum/DM/ad)
-
ExploitVictim loads legitimate page, links poisoned
-
ExecutionVictim clicks pagination/nav control
-
ImpactRedirected to attacker origin for phishing
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Redirect URL validation
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that a victim open an attacker-supplied URL to a legitimate e621ng instance (before 26.09.16) containing reserved Rails url_for options as query parameters (host, protocol, and/or port), and then click a resulting pagination or navigation control (Previous/Next, numbered pages) whose href has been rewritten to the attacker-controlled origin. No authentication or special server configuration is needed (affects default request handling in PaginatorComponent and the comments/comment_votes/post_versions/post_votes controllers and search_trend views). The key limiting factor is user interaction: the initial page still loads from the legitimate site, so a click on the poisoned link is required - this is not an automatic redirect, reducing exploitation reliability. |
| Impact | This is a genuine but limited-severity issue. The CVSS 4.0 base is 5.3 (MEDIUM) with AV:N/AC:L/PR:N/UI:P - network-reachable, low-complexity, and unauthenticated, but requiring passive user interaction (the victim must click a poisoned pagination/navigation link). Impact is constrained to low integrity/confidentiality on both the vulnerable and subsequent systems (VC:L/VI:L/SC:L/SI:L, VA:N/SA:N), consistent with an open redirect (CWE-601) rather than code execution or data theft. No EPSS score, no CISA KEV listing, and no standalone weaponized exploit were provided, so real-world exploitation pressure is low; however, the vendor PR (#2518) ships a regression test (url_injection_spec.rb) that demonstrates the exact injection, which effectively serves as public proof-of-concept detail. Net: a real, patchable weakness worth fixing, but a moderate/phishing-enablement risk - not a drop-everything emergency. Note the mechanism is a poisoned-link (navigation controls point to attacker origin) rather than an immediate server-side redirect, which lowers reliability versus a classic 302 open redirect. |
| Exploit ScenarioDerived | An attacker crafts a link to a legitimate e621ng page appending reserved URL-generation parameters (e.g. ?host=evil.example&protocol=ftp&port=1234) and distributes it via a forum post, message, or ad. When the victim opens the page it loads normally from the real site, but the rendered pagination and 'Previous/Next' navigation links now point to the attacker-controlled origin; clicking one sends the victim to the malicious domain for phishing or credential harvesting. The vendor's added test case (url_injection_spec.rb) confirms the ?host=/?protocol=/?port= injection path, functioning as a working reproduction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
Open redirect in e621ng before 26.09.16 lets remote attackers rewrite pagination and navigation links to attacker-controlled origins: query parameters named host, protocol, and port are handed to Rails' url_for, which treats them as URL-generation options rather than ordinary search filters, so the Previous/Next and numbered-page links rendered by PaginatorComponent, several controllers, and the search-trend views point at a malicious domain while the page itself still loads from the legitimate instance. No authentication is required (PR:N) and the assessed vector is AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N, so exploitation hinges on user interaction - the victim must open an attacker-supplied URL and then click a poisoned link, which is why the issue carries a modest CVSS 4.0 score of 5.3 and an assessed limited-severity rating. No public exploit code and no confirmed active exploitation (CISA KEV) were identified at time of analysis; the vendor has released a fix in 26.09.16.
RemediationAI
Vendor-released patch: 26.09.16 - upgrade e621ng to release 26.09.16 or later, which contains the fix from PR https://github.com/e621ng/e621ng/pull/2518 (commit e1a3930bf1750b02a23843ec88c33e2aa06e2a5e) and is published at https://github.com/e621ng/e621ng/releases/tag/26.09.16; site operators running forks or vendored copies must cherry-pick that commit rather than relying on version numbers alone. Where an immediate upgrade is not possible, the practical compensating control is to have the reverse proxy (nginx, Apache, or the CDN/WAF in front of the instance) strip or reject query parameters literally named host, protocol, port, subdomain, and only_path before requests reach Rails, since e621ng's own search interface passes filters through the tags parameter and does not legitimately use those names - the trade-off is that any deep link or bookmark that carries such a parameter name will silently lose it, and the mitigation must be applied on every hostname/IP serving the app, not just the canonical one. Because exploitation requires a victim to click a poisoned pagination or navigation link, restricting untrusted inbound links and warning users against following unsolicited e621ng URLs reduces exposure but cannot substitute for patching; note that the initial page still renders from the legitimate origin, so users cannot detect the redirection by inspecting the address bar of the page they arrived on.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-601 (URL Redirection to Untrusted Site / 'Open Redirect') arising from unsafe use of Rails URL helpers. Ruby on Rails' url_for distinguishes between reserved URL-generation keys (:host, :protocol, :port, :subdomain, :only_path, and similar) and everything else, which is appended as a query string. In e621ng's PaginatorComponent the code built an ActionController::Parameters object from the incoming request (params.except(:id).merge(page: page).permit!) and passed it straight into url_for, so a request such as /posts?tags=cat&host=evil.example caused the generated pagination href to be built with evil.example as the host - the injected value is interpreted as a generator option, not a filter. The same anti-pattern appeared in the comments, comment_votes, post_versions, and post_votes controllers (which set @latest from request.params) and in app/views/search_trends and search_trend_hourlies, where request.query_parameters were passed directly to url_for in the Previous/Next anchors. The upstream fix changes these call sites to pass the merged hash under an explicit params: key (url_for(params: request.query_parameters.merge("page" => page))), forcing Rails to treat every value as a query parameter and neutralizing reserved-key injection. The vulnerable surface is the default request handling of the e621ng booru application (Danbooru-derived Rails stack), tracked by CPE cpe:2.3:a:e621ng:e621ng:*:*:*:*:*:*:*:*; the corresponding spec file (spec/components/paginator_component/url_injection_spec.rb) added by the fix explicitly asserts that ?host=, ?protocol=, and ?port= no longer alter the link target.
Know when E621Ng gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Unauthenticated network open redirect requiring a victim click (UI:R); crossing to an attacker origin is a scope change (S:C) with limited confidentiality/integrity impact and no availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
e621ng versions before 26.09.16 pass untrusted request parameters directly to Rails url_for in PaginatorComponent and controller navigation links, allowing attackers to redirect pagination and navigation controls to attacker-controlled origins. Attackers can supply host, protocol, and port query parameters that are interpreted as URL generation options, causing pagination links to point to malicious domains while the initial page loads from the legitimate site.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
EUVD-2026-84860
GHSA-7r53-6357-gf8f
NVD
CVE.org
EPSS
Exploit-DB