Cotonti: Stored Cross-Site Scripting in the Personal File Storage (PFS) module
Date: 2026-06
Affected: composer/cotonti/cotonti
Attack vector: xss
Category: vulnerability-disclosure
Severity: Critical
CVE: CVE-2026-55742
CVE-2026-55746
CWE: CWE-352
CWE-79
CVSS: 7.6 (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N)

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.


Mitigations:

Architectural layers (MAESTRO):