Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious link with script in lng param
-
DeliveryDeliver link to victim via phishing
-
ExploitVictim opens message.php URL
-
ExecutionPayload reflected unescaped into dialog
-
ImpactJavaScript executes in victim session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an unauthenticated attacker to deliver a crafted message.php link with a script payload in the lng parameter AND a victim to open that link in an authenticated or interactive browser session (CVSS UI:A/UI:R). The affected code path is the confirmation dialog in message.php on Cotonti versions through 1.0.0, where the lng value is echoed without htmlspecialchars() escaping. Limiting factors: required user interaction (no drive-by/automatable exploitation), session-scoped impact only (no server-side code execution or data compromise), and the narrow low-footprint product base. A vendor patch is available, so exposure is limited to unpatched instances. |
| Impact | This is a classic reflected cross-site scripting flaw (CWE-79) rated moderate at CVSS 4.0 5.1. The vendor 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A/SC:L/SI:L) confirms network-reachable, low-complexity, unauthenticated exploitation, but requires victim interaction (UI:A) - the attacker must lure a user into clicking a crafted link, so it is not a wormable or automatable issue. Impact is confined to the subsequent system (the victim's browser session), rated Low confidentiality/integrity with no availability impact, consistent with reflected XSS rather than server compromise. No EPSS score, no CISA KEV listing, and no public exploit code are present in the provided data, so exploitation status is: no public exploit identified at time of analysis. The vulnerability was reported by VulnCheck and a vendor patch (PR #1908) exists, which raises credibility of the finding while lowering urgency. Net: a real but low-priority issue - genuine unauthenticated reflected XSS, but gated by required user interaction, limited to session-level impact, and in a low-footprint product; not a high-real-risk emergency. |
| Exploit ScenarioDerived | An attacker crafts a URL to a Cotonti site's message.php with a JavaScript payload injected into the lng parameter and delivers it via phishing email, forum post, or chat. When a victim clicks the link, the unescaped lng value is reflected into the confirmation dialog and executes in their browser, allowing session cookie theft or actions performed as the victim. No authentication is needed by the attacker, but the victim must open the malicious link; no public POC is indicated. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 26, 2026
Reflected cross-site scripting in the Cotonti CMS through 1.0.0 allows an unauthenticated attacker to execute arbitrary JavaScript in a victim's browser by luring them to a crafted link whose lng parameter is echoed without escaping into the message.php confirmation dialog. Exploitation requires victim interaction (remote, unauthenticated, UI:A per the assessed CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N vector), and the impact is session-scoped - session/cookie theft, phishing-style content injection, or actions performed as the victim - with no server-side code execution or data compromise. An upstream fix has been published (GitHub PR 1908) and no public exploit code or confirmed active exploitation has been identified at time of analysis.
RemediationAI
Apply the upstream fix: the vendor classifies a patch as available and the correction is published as GitHub pull request 1908 (https://github.com/Cotonti/Cotonti/pull/1908), which escapes the lng fallback with htmlspecialchars() in message.php; because the fix is delivered as a pull request rather than a clearly tagged release, confirm the exact patched version or release tag with the project before relying on it, tracking the repository at https://github.com/Cotonti/Cotonti. If patching cannot be done immediately, the narrowest effective workaround is to block or temporarily remove public access to message.php (for example, a webserver ACL or rewrite rule returning 403/404), accepting that users lose the confirmation-dialog functionality it provides. As a secondary control, add a WAF or reverse-proxy rule rejecting requests to message.php whose lng parameter contains angle brackets, quotes, or javascript: style payloads, recognizing such filters are bypassable and only reduce risk; a restrictive Content-Security-Policy (script-src 'self' or nonce-based) limits payload execution but may break legitimate inline scripts. Server-side output encoding of the lng parameter and rejection of protocol-relative redirect targets in message.php mirror the changes in PR 1908. With no KEV listing and no identified public exploit code, this should be handled as a moderate-severity issue whose exposure is limited to unpatched instances.
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
Cotonti is an open-source PHP/MySQL content-management framework, and message.php renders a confirmation dialog in which the lng request parameter is used as a language-array key and, when no translation matches, echoed directly to the page ($body = isset($L[$lng]) ? $L[$lng] : $lng). Because that fallback value is never encoded, attacker-controlled query-string input lands in the HTML response, the textbook definition of CWE-79 improper neutralization of input during web page generation (reflected XSS). The fixing PR 1908 applies htmlspecialchars() to that fallback and also hardens adjacent code paths: redirect handling in message.php and modules/page/inc/page.main.php now validates targets with cot_url_check() and rejects protocol-relative '//' and off-site redirects (open-redirect/CRLF abuse), CSRF tokens via cot_check_xg() are added to forum new-topic/posts and page add/edit actions, category titles in page.list.php are escaped, and datas/.htaccess is broadened to block execution of php3-php8, phtml, phar, shtml, cgi, pl and html-like files. The only affected CPE provided is cpe:2.3:a:cotonti:cotonti:*:*:*:*:*:*:*:*, i.e. all Cotonti versions through 1.0.0.
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-delivered reflected XSS requiring victim click (UI:R); scope change to browser (S:C) with low confidentiality/integrity and no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Cotonti through 1.0.0 contains a reflected cross-site scripting vulnerability in message.php where the lng parameter is not properly escaped before output in the confirmation dialog. Unauthenticated attackers can craft malicious links with script payloads in the lng parameter to execute arbitrary JavaScript in victim browser sessions.
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
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
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-87377
GHSA-6r43-xr6w-qprx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB