CVE-2026-55744: Cotonti 1.0.0 CSRF in Personal File Storage Upload
Cotonti 1.0.0 contains a cross-site request forgery (CSRF) vulnerability in its Personal File Storage module that allows an attacker to trick authenticated users into uploading files to their account without their knowledge. The vulnerability exists because the file upload function fails to validate an anti-CSRF token that should prevent such unauthorized requests. An attacker can craft a malicious webpage that, when visited by a logged-in Cotonti user, silently triggers file uploads to that user's storage.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 8.1 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
- Weaknesses (CWE)
- CWE-352
- 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 Cross-Site Request Forgery in the Personal File Storage (PFS) module. In modules/pfs/inc/pfs.main.php, the file upload action ('a=upload') processes uploaded files without calling cot_check_xg() to validate the anti-CSRF token, even though sibling actions such as 'delete' (line 272) do. A remote attacker who lures an authenticated user into visiting a malicious page can force the browser to submit a forged multipart request that uploads arbitrary files into the victim's PFS storage.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability resides in modules/pfs/inc/pfs.main.php within Cotonti 1.0.0 (master branch, commit f43f1fc3). The file upload action handler ('a=upload') processes multipart form data and writes files to the victim's Personal File Storage without invoking cot_check_xg(), the framework's CSRF token validation function. This is inconsistent with other PFS actions like 'delete' (line 272), which properly call the validation function. An attacker exploits this by hosting a page with an embedded multipart form that targets the vulnerable upload endpoint; when an authenticated user visits the attacker's page, their browser automatically submits the forged request using their existing session cookies, resulting in arbitrary file uploads.
Business impact
This vulnerability undermines the integrity of user file storage and can lead to unauthorized modifications of a user's PFS directory. While confidentiality is not directly compromised, the ability to upload arbitrary files could enable secondary attacks—such as uploading malicious scripts that might be executed if the PFS directory is web-accessible, or filling storage quotas to cause denial of service. For organizations deploying Cotonti, this represents a risk to user trust and data integrity within the platform.
Affected systems
Cotonti version 1.0.0, specifically the master branch at commit f43f1fc3, is affected. The vulnerability is isolated to the Personal File Storage (PFS) module. Organizations running this version, or versions derived from this commit, should treat this as applicable to their deployment.
Exploitability
Exploitation requires user interaction and authentication. An attacker must convince a user who is already logged into Cotonti to visit a malicious webpage; the attacker then leverages the user's active session to trigger the forged upload. No special privileges or complex attack chain is required beyond basic HTML and form submission. The CVSS 3.1 score of 8.1 (HIGH) reflects the combination of network-based delivery, relatively low complexity, and the need for user interaction, balanced against the absence of confidentiality impact.
Remediation
The fix requires modifying modules/pfs/inc/pfs.main.php to add a call to cot_check_xg() in the upload action handler, consistent with how other PFS actions validate CSRF tokens. Verify against the vendor advisory or repository for the exact patch location and implementation. This is a straightforward code change that should be prioritized in the next maintenance release.
Patch guidance
Check the Cotonti repository and official vendor advisories for available patches. Given this is reported against version 1.0.0, newer versions or branches may already include the fix. If you are running the master branch or a downstream version, apply the CSRF token validation to the upload handler immediately. If no official patch is available yet, consider temporarily disabling the PFS upload feature or restricting access to the PFS module until a fix is released.
Detection guidance
Monitor HTTP logs for unusual POST requests to modules/pfs/inc/pfs.main.php with a=upload parameter, especially those originating from external referrers or lacking expected HTTP_REFERER headers. Track file uploads to user PFS directories and correlate them with user session activity—unexpected uploads during periods when the user was not actively using the platform may indicate CSRF exploitation. Web application firewalls can be configured to require CSRF token validation on upload endpoints.
Why prioritize this
Despite being HIGH severity, this vulnerability requires active user interaction and a pre-existing authenticated session, which somewhat limits opportunistic exploitation. However, the ease of crafting a CSRF payload and the potential for data integrity compromise warrant prompt patching. If your organization uses Cotonti in a multi-tenant or collaborative environment, the risk is elevated because users may visit untrusted content more frequently.
Risk score, explained
The CVSS 3.1 score of 8.1 reflects a network-accessible vulnerability with low attack complexity and low privilege requirements, but crucially requires user interaction (the user must visit the attacker's page while authenticated). The vector AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N indicates high impact to integrity and confidentiality of the uploaded files and associated data, but no availability impact. The rating is neither critical (which would require no user interaction or widely-available exploits) nor moderate, landing squarely in the HIGH category.
Frequently asked questions
Can an attacker upload executable code or malware through this vulnerability?
Yes, technically an attacker can upload any file type. If the PFS directory is within the web root and accessible via HTTP, or if uploaded files are later executed by the application, the attacker can use this to deploy malicious scripts. However, modern web servers typically do not execute arbitrary files from storage directories by default, so the practical risk depends on your deployment configuration.
Is this vulnerability actively being exploited in the wild?
This CVE is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog as of the source data date. That does not mean exploitation is impossible—it means no confirmed public exploit or active campaign has been reported to CISA. Maintain vigilance for any future KEV additions or threat intelligence updates.
Do all Cotonti installations need to apply a patch immediately?
Organizations running Cotonti 1.0.0 on the master branch (commit f43f1fc3) should prioritize patching. If you are running a forked or downstream version, check whether the upstream fix has been applied. If you are running an older or newer version, consult the vendor to determine if your version is affected; it is possible that earlier or later branches may have a different code path.
What is the difference between this and other CSRF vulnerabilities?
This CSRF is particularly concerning because it affects file upload, which is a state-changing operation with direct impact on storage. Unlike CSRF in account settings (which might only change non-critical metadata), a CSRF in file upload directly modifies user data. The inconsistency in the codebase—where 'delete' is protected but 'upload' is not—suggests this was an oversight rather than an intentional design decision.
This analysis is provided for informational purposes and represents our understanding of the vulnerability as of the source data date. Patch version numbers, KEV status, and affected product lists are subject to change as vendors release updates and threat intelligence evolves. Organizations should verify compatibility and test patches in a non-production environment before deployment. No warranty is provided regarding the completeness or accuracy of this analysis. Always consult official vendor advisories and security bulletins for authoritative guidance. Source: NVD (public-domain), retrieved 2026-07-27. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2026-11265HIGHGoogle Chrome Autofill Cross-Origin Data Leak (CVSS 7.5)
- CVE-2026-22342HIGHWordPress Dating Theme CSRF Vulnerability – High-Risk Patch Required
- CVE-2026-35266HIGHOracle REST Data Services Authentication & Data Integrity Vulnerability
- CVE-2026-43985HIGHCritical CSRF Vulnerability in Tautulli Admin Endpoint Allows Credential Hijacking
- CVE-2026-46787HIGHOracle WebCenter Content CSRF Vulnerability – HIGH Severity
- CVE-2026-46894HIGHOracle iSupplier Portal CSRF and Open Redirect Vulnerability—Impact & Remediation
- CVE-2026-46955HIGHOracle E-Business Suite Human Resources Vulnerability – HIGH Severity
- CVE-2026-48612HIGHOAuth State Verification Flaw Enables Account Takeover