Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain page create/edit account
-
DeliveryStore page body with redir: external URL
-
ExploitDistribute trusted-domain link to victims
-
ExecutionVictim visits page
-
ImpactBrowser redirected to malicious phishing host
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 an authenticated Cotonti account that holds page creation or edit permissions (PR:L) - anonymous users cannot exploit it. The attacker must place an external URL in a page body using the |
| Impact | This is a genuine but low-severity stored open redirect (CWE-601) confirmed by both the vendor advisory (VulnCheck) and a source-verified patch (PR #1901 adds a |
| Exploit ScenarioDerived | An authenticated Cotonti user with page creation/edit rights creates a page whose body uses the |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
Cotonti CMS (often branded simply as Cotonti) through version 1.0.0 stores page bodies beginning with the redir: prefix as redirects without validating the destination, letting an authenticated user who can create or edit pages point visitors from a trusted Cotonti-hosted page to an arbitrary external site for phishing. Exploitation requires a valid account holding page creation or edit permissions (CVSS vector PR:L) and depends on a victim opening the crafted page (UI:P), with impact limited to redirecting visitors - no server-side code execution or data compromise is possible. There is no indication of active exploitation in the wild and no public exploit code identified at time of analysis; EPSS and KEV data were not provided. The vendor/upstream fix is PR #1901, which adds a cot_url_check guard rejecting external http/ftp destinations.
RemediationAI
Apply the upstream fix in PR #1901 (https://github.com/Cotonti/Cotonti/pull/1901), which hardens modules/page/inc/page.main.php by rejecting external http/https/ftp redirect targets with cot_die_message(403) after a cot_url_check validation; patch status is "Upstream fix available (PR/commit); released patched version not independently confirmed," so confirm whether your distribution or vendor has shipped a tagged release containing that commit before relying on an upgrade path, and track issue #1893 for progress. If you cannot patch immediately, the most effective compensating control is to restrict page creation and editing rights to trusted roles (for example, narrow the relevant group permissions so only vetted authors can publish page bodies), accepting that this reduces editorial flexibility; additionally monitor or sanitize stored page content for the redir: prefix and external URLs, and treat any existing pages using redir: pointing off-site as suspicious and remove them. Because exploitation depends on a victim clicking the crafted link, user-facing phishing awareness and inspecting outbound links on Cotonti-hosted pages provide limited additional risk reduction. After patching, verify that redirect targets are constrained as intended and re-test redirect forms outside the absolute http/ftp patterns matched by the new guard, since the fix only inspects that specific URL shape.
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 stored/reflected-style open redirect (CWE-601: URL Redirection to Untrusted Site) in Cotonti's page module. In modules/page/inc/page.main.php (1.0.0 branch), the parser special-cases page bodies prefixed with redir: and issues an HTTP redirect to the following string without verifying that the target belongs to the local site. Because the redirect payload is persisted as page content, the redirect is served from the trusted Cotonti domain, which is what gives the issue its phishing value - victims see a legitimate host in the link. The upstream patch (PR #1901) adds a check of the form if (preg_match('#^(http|ftp)s?://#', $redir) && !cot_url_check($redir)) { cot_die_message(403); }, i.e. absolute external URLs are matched and rejected via the framework's cot_url_check allow-listing helper. The CPE cpe:2.3:a:cotonti:cotonti:*:*:*:*:*:*:*:* indicates the whole Cotonti product line up to and including 1.0.0 is affected rather than a single plugin; the underlying technology is a PHP/MySQL CMS with a template-and-module architecture, so the redirect logic is application-level and does not involve a memory-safety or injection primitive. Note that the guard is written for absolute http/https/ftp URLs, so post-patch validation of other redirect encodings (other schemes or relative/scheme-relative forms) is a reasonable hardening step.
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:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Authenticated page-edit user (PR:L) stores a redirect requiring a victim click (UI:R); scope changes as the trusted site redirects the victim's browser elsewhere (S:C), with low integrity/confidentiality phishing impact only.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Cotonti through 1.0.0 fails to validate redirect destinations in page bodies prefixed with redir:, allowing authenticated users with page creation or edit permissions to store redirects to arbitrary external hosts. Attackers can craft pages on trusted domains that redirect visitors to malicious sites for phishing attacks without administrative privileges.
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-83368
GHSA-gp9j-h9gm-p3q2
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB