CVE-2021-45903
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedA persistent cross-site scripting (XSS) issue in the web interface of SuiteCRM before 7.10.35, and 7.11.x and 7.12.x before 7.12.2, allows a remote attacker to introduce arbitrary JavaScript via attachments upload, a different vulnerability than CVE-2021-39267 and CVE-2021-39268.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceA persistent cross-site scripting (XSS) vulnerability exists in SuiteCRM's web interface through the attachments upload functionality. Remote attackers can upload malicious attachments containing arbitrary JavaScript that executes when other users view or interact with the uploaded files. This affects versions before 7.10.35 and 7.11.x/7.12.x before 7.12.2.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data< 7.10.35>= 7.11.0, < 7.12.2CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- Required
- Scope
- Changed
- Confidentiality
- Low
- Integrity
- Low
- Availability
- None
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Check SuiteCRM version fileLocate and read the version file in your SuiteCRM installation. Common paths include: include/utils.php, install/install_version.php, or a VERSION file in the root directory. Look for the version number defined there.Affected if The detected version is less than 7.10.35, OR greater than or equal to 7.11.0 but less than 7.12.2
-
Verify attachment upload feature is enabledLog into the SuiteCRM web interface and navigate to the attachment upload functionality. This is typically found in the Notes module, Email composer, or document management areas where file attachments can be added to records.Affected if You are able to access and use the attachment upload feature in the web interface
-
Confirm web interface is accessibleAccess your SuiteCRM instance through a web browser. Verify the application loads and that user authentication is possible, as the XSS payload executes when other users interact with uploaded files.Affected if The SuiteCRM web interface is accessible to users who can upload attachments
Your environment is affected if the installed SuiteCRM version is below 7.10.35, or is between 7.11.0 and 7.12.2 (exclusive), and the attachment upload feature is accessible via the web interface.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped7.10.357.12.2
Upgrade SuiteCRM to version 7.10.35 or later, or 7.12.2 or later. Implement proper input sanitization and validation on attachment uploads, including content-type verification and filename sanitization to prevent XSS execution.
7.12.2 or latest stable SuiteCRM release
- 1. Backup your SuiteCRM database and file system before proceeding with the upgrade.
- 2. Download the latest stable SuiteCRM release (recommended) or version 7.12.2 as the minimum fixed version from the official SuiteCRM GitHub repository or website.
- 3. Enable maintenance mode or notify users of planned downtime.
- 4. Extract the new SuiteCRM package to your web server document root.
- 5. Copy the new files over the existing installation, preserving custom configurations in config.php and any custom modules in the custom/ directory.
- 6. Run the database upgrade by accessing the repair function via SuiteCRM admin: Administration > Repair > Quick Repair and Rebuild.
- 7. Clear the cache by deleting all files in cache/ directory (except .gitkeep).
- 8. Verify the upgrade by logging in and checking the SuiteCRM version in About.
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation4.0 h
- Implementation8.0 h
- Testing6.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $5,600.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2021-45903 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2021-45903 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data