Skip to main content

Cotonti CMS EUVDEUVD-2026-83366

| CVE-2026-93869 MEDIUM
URL Redirection to Untrusted Site (Open Redirect) (CWE-601)
2026-09-18 VulnCheck GHSA-5p43-vwpq-wm4q
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft redirect URL with spoofed subdomain prefix
  2. Delivery
    Deliver link via phishing/forum post
  3. Exploit
    Victim clicks trusted-domain link
  4. Execution
    cot_url_check regex bypass passes
  5. Persist
    Browser redirected to attacker host
  6. Impact
    Credential 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Cotonti 0 ≤1.0.0

Affected Packages

euvd cotonti no fix

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
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
vuln.today AI 4.7 MEDIUM

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

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

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
niche open-source PHP CMS, minimal enterprise footprint
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2013-4789 HIGH POC
7.5 Aug 09

SQL injection vulnerability in modules/rss/rss.php in Cotonti before 0.9.14 allows remote attackers to execute arbitrary

CVE-2026-55742 CRITICAL
9.4 Jun 18

Cross-site request forgery in Cotonti 1.0.0 (commit f43f1fc3) lets a remote attacker escalate privileges to administrato

CVE-2026-91939 CRITICAL
9.3 Sep 15

PHP object injection in the Cotonti 1.0.0 Comments plugin allows unauthenticated, network-reachable attackers to instant

CVE-2025-44115 MEDIUM POC
5.4 Jun 02

A vulnerability has been found in Cotonti Siena v0.9.25. Affected by this vulnerability is the file /admin.php?m=config&

CVE-2021-47808 MEDIUM POC
5.4 Jan 16

Cotonti Siena 0.9.19 contains a stored cross-site scripting vulnerability in the admin configuration panel's site title

CVE-2024-24115 MEDIUM POC
5.4 Feb 08

A stored cross-site scripting (XSS) vulnerability in the Edit Page function of Cotonti CMS v0.9.24 allows authenticated

CVE-2026-93868 CRITICAL
9.2 Sep 18

Unauthenticated attackers can reset the password of any Cotonti account, including administrator accounts, because passw

CVE-2022-39840 MEDIUM POC
4.8 Sep 05

Cotonti Siena 0.9.20 allows admins to conduct stored XSS attacks via a direct message (DM). Rated medium severity (CVSS

CVE-2022-39839 MEDIUM POC
4.8 Sep 05

Cotonti Siena 0.9.20 allows admins to conduct stored XSS attacks via a forum post. Rated medium severity (CVSS 4.8), thi

CVE-2026-55741 HIGH
8.7 Jun 18

Cross-site request forgery in Cotonti 1.0.0 (commit f43f1fc3) administration configuration handler allows a remote attac

CVE-2026-55744 HIGH
8.6 Jun 18

Cross-Site Request Forgery in the Personal File Storage (PFS) module of Cotonti 1.0.0 (commit f43f1fc3) allows remote at

CVE-2026-93872 HIGH
7.7 Sep 18

PHP object injection in Cotonti 1.0.0 allows authenticated users with comment-write permissions to pass attacker-control

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy