Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft base64-encoded external URL
-
DeliveryEmbed in message.php redirect parameter
-
ExploitDistribute link abusing trusted domain
-
ExecutionVictim opens page, meta refresh fires
-
ImpactRedirect to phishing site harvests credentials
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 targets any Cotonti installation through version 1.0.0 in its default configuration - no authentication or special feature toggle is required, since message.php accepts and base64-decodes the |
| Impact | This is a classic open-redirect (CWE-601) in the Cotonti CMS message.php handler, which base64-decodes the |
| Exploit ScenarioDerived | An attacker base64-encodes a malicious external URL and embeds it in the |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 26, 2026
Open redirect in Cotonti CMS through 1.0.0 lets unauthenticated attackers turn the message.php handler into a phishing trampoline: the redirect parameter is base64-decoded and echoed into a meta-refresh tag without any domain validation, so a crafted link sends victims to an arbitrary external site under the trusted Cotonti domain. Any default installation up to and including 1.0.0 is affected and no authentication is required (PR:N in the vector), but exploitation depends on victim interaction (UI:A) - the target must open the crafted message.php URL. No public exploit code was identified at time of analysis, and there is no CISA KEV entry; the impact is scoped to redirect/phishing abuse against users rather than compromise of the Cotonti server itself.
RemediationAI
Apply the upstream fix from https://github.com/Cotonti/Cotonti/pull/1908 - upstream fix available (PR/commit); released patched version not independently confirmed - and treat patch availability as vendor-reported (see the VulnCheck advisory at https://www.vulncheck.com/advisories/cotonti-through-1.0.0-open-redirect-via-message-php-redirect-parameter and upstream issue https://github.com/Cotonti/Cotonti/issues/1907). Avoid inventing a version target: no tagged patched release number is present in the provided data, so confirm the current Cotonti download/build status before announcing a fixed version. If you cannot patch immediately, the most direct compensating control is to stop message.php from emitting uncontrolled redirects: either disable or block access to message.php if your users do not rely on the Cotonti message/redirect feature (trade-off: messaging and internal 'message shown, then forward' flows break for legitimate users), or deploy a WAF/reverse-proxy rule that rejects requests to message.php whose redirect parameter base64-decodes to a value starting with 'http://', 'https://', or '//' (trade-off: legitimate absolute redirects, if any are used, and any obfuscated encodings you do not normalize, may cause false positives or bypass - test against normalized base64, including URL-encoded padding). Because the same patch also closes CSRF token gaps and unescaped output in the forums/page modules, backporting only the message.php hunk leaves those adjacent issues open; prefer taking the full commit set. After updating, verify that off-site values in redirect are now dropped and that page.main.php's header('Location: …') path also validates through cot_url_check().
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 issue is CWE-601 (URL Redirection to Untrusted Site / 'Open Redirect'), rooted in PHP code in message.php that reads the user-supplied redirect GET parameter, runs it through base64_decode(), and writes the decoded value into the page as the target of a meta-refresh redirect. Because the decoded string is never compared against the site's own host or an allow-list, an attacker can encode any external URL in the parameter and have the Cotonti origin emit the redirect. The vulnerable build is tracked as cpe:2.3:a:cotonti:cotonti:*:*:*:*:*:*:*:* across the Cotonti 1.0.0 branch; the second referenced file, system/common.php, provides the shared URL/helper utilities where a validation function (cot_url_check in the fix) was expected to exist but was not applied on this code path. The upstream patch in PR #1908 adds exactly that check: the decoded redirect is accepted only when it matches a site-relative pattern (^/[^/]) or passes cot_url_check(), and the guard also rejects values starting with '//' (protocol-relative URLs) and previously-blocked characters. Notably, the same patch bundles unrelated hardening - .htaccess extension blocking for php3-8/phtml/phar/shtml/cgi and similar, htmlspecialchars() escaping of language and category titles, and cot_check_xg()/cot_xg() anti-CSRF token checks in the forums, page add/edit, and page.main redirect paths - indicating the maintainers audited adjacent input-handling code at the same time.
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:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Unauthenticated network-reachable redirect (PR:N, AV:N, AC:L) requiring the victim to click (UI:R); scope changes to the redirected-to system (S:C) with only low confidentiality/integrity phishing impact and no server impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Cotonti through 1.0.0 contains an open redirect vulnerability in message.php that base64-decodes the redirect parameter without domain validation. Unauthenticated attackers can craft malicious links with encoded external URLs to redirect users to arbitrary sites via meta refresh tags for phishing attacks.
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-87378
GHSA-g8jm-3grw-8wh2
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB