Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft redirect URL with spoofed subdomain prefix
-
DeliveryDeliver link via phishing/forum post
-
ExploitVictim clicks trusted-domain link
-
Executioncot_url_check regex bypass passes
-
PersistBrowser redirected to attacker host
-
ImpactCredential theft or malware delivery
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 | Requires a reachable redirect caller such as the ratings plugin (plugins/ratings/ratings.ajax.php) that passes user-supplied destinations through the flawed cot_url_check() in system/functions.php. The attacker must supply a hostname that begins with the legitimate site domain (e.g. sitedomain.attacker.com) to satisfy the unanchored regex. Exploitation is LIMITED by required victim interaction (UI:P - a user must click the malicious link) and delivers only redirection to an attacker host, not direct compromise; affects Cotonti through version 1.0.0 in default configuration. |
| Impact | This is a genuinely low-severity issue whose signals are internally consistent rather than conflicting. The vendor CVSS 4.0 score of 5.3 (AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N) correctly captures an open redirect: network-reachable and unauthenticated to stage, but requiring victim interaction (UI:P - a user must click the crafted link) and yielding only low confidentiality/integrity impact via subsequent-system effects (SC:L/SI:L). No EPSS score, no CISA KEV listing, and no public POC were provided, so exploitation status is: no public exploit identified at time of analysis. There is no signal conflict - the description (regex lacking an end-of-string anchor, exploitable through the ratings plugin) matches the CVSS vector and the confirmed patch (PR#1899 adds an end-anchor). The only real risk is phishing/credential-harvesting leverage from abusing a trusted domain; there is no code execution or data exposure. Priority is low: this is a defense-in-depth hardening fix, not an emergency, especially given the niche deployment footprint. |
| Exploit ScenarioDerived | An attacker crafts a URL to a Cotonti site's redirect caller (e.g., the ratings plugin) with a redirect target like https://victimdomain.attacker.com, which passes the unanchored regex because it begins with the site's scheme and domain prefix. The attacker distributes this link (phishing email, forum post); when a user clicks it, they are silently redirected from the trusted Cotonti host to the attacker-controlled site for phishing or malware delivery. No public exploit code is identified, but the source-code diff makes the bypass trivially reproducible. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
Open redirect in Cotonti through 1.0.0 lets remote, unauthenticated attackers bounce victims to arbitrary attacker-controlled sites by supplying a hostname that merely begins with the legitimate site domain, defeating the cot_url_check() validation used by the ratings plugin and other redirect callers. Exploitation is constrained by required victim interaction - a user must follow a crafted link through a reachable redirect caller such as plugins/ratings/ratings.ajax.php - and yields only redirection to an attacker host, not code execution or data compromise, consistent with the assessed CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:N vector (CVSS 4.0 base 5.3). This is a low-severity, internally consistent issue with no public exploit identified at time of analysis; there is no evidence of active exploitation or KEV listing.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - vendor data states a patch is available, and the code change is published as GitHub PR https://github.com/Cotonti/Cotonti/pull/1899, which amends the regex in system/functions.php from ^<scheme>://([\w\p{L}\.\-]+\.)?<domain> to the same pattern followed by ([/?#]|$); administrators should upgrade to the first release containing that commit once it is tagged, or apply the change directly. Where upgrading is not immediately possible, the practical compensating control is to stop passing user-controlled destinations to the redirect callers, i.e. temporarily disable or restrict the ratings plugin AJAX endpoint (plugins/ratings/ratings.ajax.php) - the trade-off being loss of the rating submission feature - or wrap the same anchored regex check in a local override so that a matched domain must be followed by /, ?, #, or end of string; additionally, constrain redirect parameters to a strict allowlist of internal paths, which may break any legitimate external-link behavior that depends on the redirector. Because exploitation requires a victim to click a crafted link, outbound link filtering and user awareness provide secondary risk reduction but are not substitutes for the code fix.
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 flaw is a classic CWE-601 URL redirection to an untrusted site, rooted in a PHP regular-expression validation weakness. Cotonti's cot_url_check() in system/functions.php builds a pattern of the form ^<scheme>://([\w\p{L}\.\-]+\.)?<domain> using preg_match() with the ui (unicode, case-insensitive) modifiers, and returns true when the supplied URL merely starts with the expected scheme and domain. Because the pattern has no end-of-string anchor or delimiter check after the domain, a URL such as https://sitedomain.attacker.com/... matches - the legitimate domain appears as a prefix of the attacker-controlled hostname. Any code path that forwards user-supplied destinations into this check inherits the bypass; the referenced ratings AJAX endpoint (plugins/ratings/ratings.ajax.php) is one such caller, and other redirect callers may be affected. The upstream fix (GitHub PR #1899) appends ([/?#]|$) to the pattern in system/functions.php, requiring the matched domain to be followed by a path separator, query, fragment, or end of string, which prevents the prefix-spoofing hostname from validating. The CPE cpe:2.3:a:cotonti:cotonti:*:*:*:*:*:*:*:* reflects that all released versions through the 1.0.0 tag are affected.
Know when Cotonti 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
Network-reachable open redirect needs no privileges but requires a victim click (UI:R); redirecting to another origin is a scope change (S:C) with low integrity impact and no confidentiality or availability loss.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Cotonti through 1.0.0 contains an open redirect vulnerability in the cot_url_check() function that validates redirect destinations using a regular expression lacking an end-of-string anchor. Attackers can bypass the redirect guard by supplying hostnames beginning with the site domain to redirect users to attacker-controlled hosts through the ratings plugin or other redirect callers.
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.
What every action level means
SSVC AssessmentENISA
Priority Score
SQL injection vulnerability in modules/rss/rss.php in Cotonti before 0.9.14 allows remote attackers to execute arbitrary
Cross-site request forgery in Cotonti 1.0.0 (commit f43f1fc3) lets a remote attacker escalate privileges to administrato
PHP object injection in the Cotonti 1.0.0 Comments plugin allows unauthenticated, network-reachable attackers to instant
A vulnerability has been found in Cotonti Siena v0.9.25. Affected by this vulnerability is the file /admin.php?m=config&
Cotonti Siena 0.9.19 contains a stored cross-site scripting vulnerability in the admin configuration panel's site title
A stored cross-site scripting (XSS) vulnerability in the Edit Page function of Cotonti CMS v0.9.24 allows authenticated
Unauthenticated attackers can reset the password of any Cotonti account, including administrator accounts, because passw
Cotonti Siena 0.9.20 allows admins to conduct stored XSS attacks via a direct message (DM). Rated medium severity (CVSS
Cotonti Siena 0.9.20 allows admins to conduct stored XSS attacks via a forum post. Rated medium severity (CVSS 4.8), thi
Cross-site request forgery in Cotonti 1.0.0 (commit f43f1fc3) administration configuration handler allows a remote attac
Cross-Site Request Forgery in the Personal File Storage (PFS) module of Cotonti 1.0.0 (commit f43f1fc3) allows remote at
PHP object injection in Cotonti 1.0.0 allows authenticated users with comment-write permissions to pass attacker-control
EUVD-2026-83366
GHSA-5p43-vwpq-wm4q
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB