{"id":"CVE-2026-55746","title":"Cotonti: Stored Cross-Site Scripting in the Personal File Storage (PFS) module","summary":"Cotonti: Stored Cross-Site Scripting in the Personal File Storage (PFS) module","severity":"high","cvss":7.6,"cwe":["CWE-79"],"vendor":"cotonti","product":"cotonti/cotonti","ecosystem":"composer","affected":["cotonti/cotonti <= 1.0.0"],"published":"2026-06-18","updated":"2026-06-19","source":"GHSA","sourceUrl":"https://github.com/advisories/GHSA-86hp-hf3j-3m8r","references":[{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-55746"},{"url":"https://github.com/Cotonti/Cotonti"},{"url":"https://github.com/Cotonti/Cotonti/blob/f43f1fc38ba4e02027786dad9dac1435c7c52b30/modules/pfs/inc/pfs.main.php#L396"},{"url":"https://github.com/advisories/GHSA-86hp-hf3j-3m8r"}],"tags":["ghsa","composer"],"epss":0.00171,"epssPercentile":0.0685,"ingestedAt":"2026-06-29T14:31:47.029Z","slug":"CVE-2026-55746","body":"## Overview\n\nCotonti 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.\n\n## Affected packages\n\n- `cotonti/cotonti <= 1.0.0`\n\n## Remediation\n\nRefer to the advisory for the patched release.","depth":"twilight","depthScore":42,"depthScoreParts":{"impact":41.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}