CVE-2024-54123
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 · uneditedBackdrop CMS before 1.28.4 and 1.29.x before 1.29.2 allows XSS via an SVG document, if the SVG tag is allowed for a text format.
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 confidenceBackdrop CMS before versions 1.28.4 and 1.29.2 contains a stored Cross-Site Scripting (XSS) vulnerability in the text format filtering system. When the SVG tag is permitted within a text format's allowed HTML tags, an attacker can embed malicious JavaScript code within an uploaded or inserted SVG document that will execute when viewed by other users.
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< 1.28.4>= 1.29.0, < 1.29.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 your Backdrop CMS versionLocate the version number in your Backdrop installation. Common locations include: the changelog file (CHANGELOG.md or CHANGELOG.txt in the root directory), the system info file (includes/version.php), or the administrative dashboard under Reports > Status report. Compare your installed version to the affected ranges: versions below 1.28.4, or versions 1.29.0 through 1.29.1.Affected if Your installed version falls within < 1.28.4 or >= 1.29.0 and < 1.29.2
-
Identify configured text formatsAccess the text format configuration through the Backdrop admin interface at Configuration > Content authoring > Text formats (path: /admin/config/content/formats), or inspect the configuration database table 'filter_format' if you have direct database access.Affected if You have text formats configured in your Backdrop installation
-
Check if SVG tags are permitted in any text formatFor each text format, examine the allowed HTML tags configuration. Look for the 'img' tag element with the 'svg' attribute, or search for 'svg' in the allowed tag list. In the database, check the 'filters' table or serialized filter configuration for filter type 'filter_html' and inspect the 'allowed_html' setting.Affected if Any text format has the SVG tag (or img tag with svg:any or svg attribute) listed in its allowed HTML tags configuration
-
Verify if the SVG-containing content can be uploaded or insertedReview whether the affected text format is assigned to any user roles that can create or edit content (check the 'roles' association in the filter_format table or the format configuration). Determine if your site allows file uploads or rich text content insertion using those text formats.Affected if Users with access to affected text formats can upload or insert content that renders SVG markup
You are affected if your Backdrop CMS version is below 1.28.4 or between 1.29.0-1.29.1 AND you have any text format that permits SVG tags in its allowed HTML configuration and that format is assignable to user roles.
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 · scoped1.28.41.29.2
Upgrade to Backdrop CMS 1.28.4 or 1.29.2 or later. Alternatively, audit and restrict text format configurations to remove SVG tag permissions if upgrade is not immediately feasible.
Upgrade to Backdrop CMS 1.28.4 (for 1.28.x users) or 1.29.2 (for 1.29.x users)
- 1. Create a complete backup of your Backdrop CMS site including the database and all files.
- 2. Download the appropriate fixed version from backdropcms.org (1.28.4 if on 1.28.x branch, or 1.29.2 if on 1.29.x branch).
- 3. Extract the new version and replace the /core directory and other core files, preserving your configuration and sites directory.
- 4. Run the database update script by accessing /core/update.php in your browser.
- 5. Clear all caches via the admin interface (Configuration > Performance > Clear all caches) or using drush cache-clear all if available.
- 6. Verify the text formats in Configuration > Content authoring > Text formats and ensure SVG tag filtering is properly configured if still needed.
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation2.0 h
- Implementation2.0 h
- Testing3.0 h
- Review / QA1.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $2,224.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2024-54123 — 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-2024-54123 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