CVE-2026-55746: Stored XSS in Cotonti 1.0.0 Personal File Storage Module
Cotonti 1.0.0 contains a stored cross-site scripting (XSS) vulnerability in its Personal File Storage module. An authenticated user can inject malicious JavaScript into a folder title, which is then stored and executed in the browsers of anyone who views that folder—including administrators and other users accessing shared or public folders. This is a particularly dangerous form of XSS because the payload persists in the application's data and affects multiple users, not just the attacker.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.6 HIGH · CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N
- Weaknesses (CWE)
- CWE-79
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-18 / 2026-06-22
NVD description (verbatim)
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.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability exists in Cotonti 1.0.0's Personal File Storage (PFS) module due to inadequate input validation and output encoding. When importing folder metadata, the pff_title field is processed through a 'TXT' filter that does not strip or encode HTML content (the tag-checking mechanism in cot_import is disabled). The folder title is then passed to the template engine without htmlspecialchars() sanitization in modules/pfs/inc/pfs.main.php and output unescaped in modules/pfs/tpl/pfs.tpl as {PFF_ROW_TITLE}. This allows arbitrary HTML and JavaScript to execute with the privileges of the viewing user.
Business impact
Attackers with valid user credentials can compromise the accounts of other users, including administrators, by executing malicious scripts when they browse folder listings. This can lead to session hijacking, credential theft, unauthorized actions performed on behalf of legitimate users, defacement of folder content, or lateral movement within the organization. The impact escalates significantly if administrators view the poisoned folder, potentially granting attackers elevated system access.
Affected systems
Cotonti version 1.0.0 (master branch, commit f43f1fc3) is confirmed vulnerable. Organizations running this version with the Personal File Storage module enabled are at risk, particularly those where multiple users share folder listings or where public folder sharing is enabled.
Exploitability
Exploitation requires valid authentication to the Cotonti instance—an attacker must have an existing user account or obtain one. No user interaction is required beyond normal browsing; when a victim visits the folder listing page containing the injected title, the payload executes automatically. The attack surface is broad because any authenticated user can create or modify folder titles, and the impact spreads to all users who view those folders.
Remediation
Upgrade to a patched version of Cotonti when available. As an interim mitigation, restrict folder creation and editing permissions to trusted administrators only, disable public folder sharing, and limit which users can view folder listings. Additionally, implement a Web Application Firewall (WAF) rule to detect and block script tags in folder title parameters.
Patch guidance
Consult the Cotonti project repository and official security advisories for patched release versions. Verify that any update includes fixes for input validation in the PFS module's import function and output encoding in the template layer. Test patches thoroughly in a staging environment before deploying to production.
Detection guidance
Monitor HTTP requests for encoded or obfuscated script tags (e.g., <script>, javascript:, onerror=) in folder creation or import API calls. Review access logs for users accessing folder listings shortly after new folders are created by other users. Search application logs for warnings related to invalid HTML in folder metadata. Consider implementing Content Security Policy (CSP) headers to restrict inline script execution and mitigate XSS payload impact.
Why prioritize this
This vulnerability merits immediate attention due to its HIGH CVSS score (7.6), stored nature (persistent across sessions and users), and ease of exploitation by any authenticated user. The broad victim scope—including administrators and other users—combined with the potential for privilege escalation and account compromise makes this a critical remediation priority, particularly in multi-user or public-facing Cotonti deployments.
Risk score, explained
The CVSS 3.1 score of 7.6 (HIGH severity) reflects: network-accessible attack vector; low attack complexity (no special conditions required); low privilege requirement (authenticated users only, not admin); required user interaction (victim must view the folder); changed scope (XSS can affect users beyond the attacker's immediate scope); high confidentiality impact (session hijacking, credential theft); and low integrity and no availability impact. The score appropriately captures the serious but not system-wide destructive nature of the attack.
Frequently asked questions
Can unauthenticated users exploit this vulnerability?
No. The vulnerability requires valid authentication to the Cotonti instance. However, the impact of exploitation is not limited to the attacker—any user viewing the poisoned folder, including administrators and other authenticated users, becomes a victim.
Does this affect all Cotonti installations?
This affects Cotonti 1.0.0 with the Personal File Storage module enabled. Older versions and installations without the PFS module are not impacted by this specific issue. Check your installed version and module configuration.
What is the difference between this and a reflected XSS?
This is stored (persistent) XSS. The malicious payload is saved in the application's database as part of the folder title and executed every time anyone views that folder. Reflected XSS typically affects only the user who clicks a malicious link. Stored XSS is generally more dangerous because it reaches multiple victims automatically.
If I restrict folder permissions, am I protected?
Partially. Restricting who can create and edit folders reduces the number of attackers who can inject payloads, and limiting who can view folders reduces victim scope. However, this is a temporary mitigation, not a fix. You must apply a proper patch to the application to eliminate the underlying vulnerability.
This analysis is based on the CVE description and does not constitute security advice. Verify all technical details, patch availability, and compatibility requirements with the official Cotonti project advisories before implementing any remediation. Testing patches in a non-production environment is strongly recommended. This vulnerability has not been designated as actively exploited in the wild (KEV status: false) as of the publication date, but organizations should not rely on this as justification for delayed patching. Source: NVD (public-domain), retrieved 2026-07-27. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2016-20066HIGHWordPress CP Polls 1.0.8 Persistent XSS Vulnerability
- CVE-2016-20084HIGHWordPress Appointment-Booking-Calendar Unauthenticated XSS and Privilege Escalation
- CVE-2023-33999HIGHDOM-Based XSS in WP Mail Log Plugin – Analysis & Remediation
- CVE-2023-54351HIGHStored XSS in WordPress Sonaar Music Plugin 4.7 – Patch & Detection Guide
- CVE-2025-11262HIGHLink Whisper Free Stored XSS Vulnerability – Analysis & Patch Guidance
- CVE-2025-14773HIGHABB T-MAC Plus XSS Vulnerability – HIGH Risk Assessment
- CVE-2025-15654HIGHFox-themes Prague Reflected XSS Vulnerability – CVSS 7.1 (HIGH)
- CVE-2025-31013HIGHReflected XSS in Themify Folo – Risk Assessment & Patch Guidance