CVE-2021-47955: CouchCMS 2.2.1 Cross-Site Scripting via SVG File Upload
CouchCMS 2.2.1 contains a cross-site scripting vulnerability that allows authenticated attackers to execute arbitrary JavaScript by uploading malicious SVG files through the file upload functionality. Attackers can upload SVG files containing embedded script tags to the browse.php endpoint, which are then executed in users' browsers when the files are accessed or previewed.
Security readout for executives and security teams
Plain-English summary
CouchCMS 2.2.1 lets an authenticated user upload an SVG that can run JavaScript when another user opens or previews it. The business risk is account/session abuse or content manipulation inside the affected site, not full server takeover based on the provided evidence.
Executive priority
Address in the normal vulnerability remediation cycle, faster for internet-facing admin portals or shared authoring environments. The issue is credible and publicly documented, but evidence provided does not support emergency treatment as active exploitation.
Technical view
CVE-2021-47955 is stored cross-site scripting in CouchCMS 2.2.1 file upload handling. The provided description identifies SVG uploads through browse.php as the path, with embedded script executing in a browser when the stored file is accessed or previewed. CVSS 3.1 is 5.4, requiring privileges and user interaction.
Likely exposure
Exposure is limited to CouchCMS 2.2.1 deployments where authenticated users can upload files and other users can access or preview uploaded SVG content. The source bundle does not identify other versions, hosted services, or downstream products.
Exploitation context
A public ExploitDB reference exists, but the bundle does not show CISA KEV listing or evidence of active exploitation. Abuse requires an authenticated attacker and a user who accesses or previews the uploaded SVG.
Researcher notes
Validate only in authorized environments. Focus on upload policy, MIME handling, SVG rendering, and whether uploaded files execute script in browser context. The bundle does not provide a vendor patch version, so remediation confirmation depends on vendor guidance or local compensating controls.
Mitigation direction
Check CouchCMS and advisory sources for an official fix or workaround.
Temporarily restrict SVG uploads where business workflows permit.
Limit upload privileges to trusted users until remediation is confirmed.
Review uploaded SVG files and remove untrusted content.
Validation and detection
Inventory CouchCMS deployments and confirm whether version 2.2.1 is present.
Review who can access file upload functionality.
Check whether SVG files can be uploaded and previewed in affected workflows.
Search content repositories for recently uploaded SVG files.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-79: User-session and phishing behavior lookup
Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references file access or upload behavior, so file telemetry and web shell review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-79 · source CWE mapping
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.