vciy

Craftcms cms, code injection: 9 records, one defect family

Craftcms cms has been reported 9 separate times for the same kind of mistake, CWE-94, between 2023-09-13 and 2026-07-01. A defect family is our own grouping of the CVE corpus: every record naming one product and one weakness class, collected so a repeat is visible as a repeat. No public source publishes this, and what this page counts is how often this one product has gone wrong in this one way.

What this page is, and what it is not

The records are public. This grouping is not. No source publishes defect families, so we built them: every record in the corpus sorted by the product an authority named and the weakness class carried with it, 21316 families over 105586 records. This one holds every record that names Craftcms cms and carries CWE-94, matched character for character. We show the join because a grouping you cannot check is a grouping you should not cite.

One record is an incident. 9 filings, between 2023-09-13 and 2026-07-01, all landing on the same weakness class in the same product, is a habit in what gets reported here, and a habit is something you can plan around. This is what we held on 2026-09-20.

A repeat is evidence about where to look. If you are reviewing Craftcms cms, the records below say which mistake has already been found more than once, which is the cheapest place a reviewer can start. If you are asking the vendor a question, a count under one weakness class is a better question than any single record is.

What this page cannot tell you is decided by what was joined. A product name and a weakness class settled membership, so those two values are the whole of what the page asserts. Records here may sit in the same line of code or in unrelated parts of the product, and we hold no value that separates those cases. A fixed version named in one record closes that record and says nothing about the others. And nothing here describes anyone's systems, because no value in this family connects a product name to an installation.

2023202420252026CVE-2023-41892, published 2023-09-13CVE-2024-56145, published 2024-12-18CVE-2025-23209, published 2025-01-18CVE-2025-32432, published 2025-04-25CVE-2025-54417, published 2025-08-09CVE-2026-28783, published 2026-03-04CVE-2026-31857, published 2026-03-11CVE-2026-56382, published 2026-06-21CVE-2026-55794, published 2026-07-01
The 9 are spread across 2.8 years with no single year holding half of them, and the longest quiet stretch between two of them is 15 months. That is a rate rather than an episode.

The names the authorities used

One spelling, used by every authority that filed one of these records: craftcms cms.

These records name more than one weakness class each. All 9 carry CWE-94, which is what this family was grouped on, and 2 of them also name CWE-1336, improper neutralization of special elements used in a template engine. The roster below shows what each record names; both readings are the record's own, filed together by the same authority. 1 other classes appear across the family as well.

Family membership: held values. Joined on the product and weakness class the assigning authorities wrote, with no model involved.

What the records offer

1 of 9 records publish a fixed version. For the other 8, held sources name none.

3 records are listed by CISA with a required action, which carries a federal remediation deadline on its own page.

The earliest was published 2023-09-13 and the latest 2026-07-01. That span is how long this product kept producing this weakness, not how long any one record took to fix.

What this family was researched, not held

Craft CMS keeps shipping follow-up fixes for its own fixes

Craft CMS renders Twig templates and builds objects from request data, and these records end where that input reaches a place it was never meant to reach. Twice the vendor has published a fix and then published another fix behind it. Craft's April 2025 advisory for CVE-2025-32432 says in its own words that it is an additional fix for the 2023 advisory GHSA-4w8r-3xrw-v25g, which is the record here as CVE-2023-41892. On 1 September 2026 Craft published a further advisory stating that the fix for CVE-2026-55794 left the posted redirect sink unsandboxed and that the same commit introduced a new self-signing oracle, released as 5.10.13. In between, investigators at Orange Cyberdefense traced a February 2025 web server compromise to the earlier route and reported about 13,000 vulnerable Craft instances at the time of their scan.

Read the advisory text and not only the version number, because Craft's advisories name which earlier record a later fix extends. An install that took the release closing one of these records can still sit below the follow-up release named in a later advisory.

2025-02-10Investigators date a web server compromise to exploitation of the Craft code execution route later tracked as CVE-2025-32432.
2025-02-20CISA adds CVE-2025-23209 to the Known Exploited Vulnerabilities catalog, remediation due 13 March 2025.
2025-04-11Craft releases 3.9.15, 4.14.15 and 5.6.17 after the reports reach the vendor.
2025-04-24Craft publishes the CVE-2025-32432 advisory and describes it as an additional fix for the 2023 advisory.
2025-06-02CISA adds CVE-2024-56145 to the Known Exploited Vulnerabilities catalog, remediation due 23 June 2025.
2026-03-20CISA adds CVE-2025-32432 to the Known Exploited Vulnerabilities catalog, remediation due 3 April 2026.
2026-09-01Craft publishes an advisory saying the fix for CVE-2026-55794 left a template sink unsandboxed, fixed in 5.10.13.

This note does not say these records share a vulnerability, an install, or a fix. They are grouped because they read alike, same product and same weakness class, and closing one of them tells you nothing about the others.

Written from github.com, github.com, sensepost.com, cisa.gov. Stated at high confidence. Nothing in this box is a value the index holds, and none of it opens a receipt.

What this page does not cover

This is a family of records that read alike. It is not a shared vulnerability, not an inventory, and not a statement that one fix closes the rest. Each record's own state, its own dates and its own receipts are on its own page.

Grouped by shared product and weakness, not by shared vulnerability. Each record's own state is on its own page.

Everything this vendor has, including records outside this family:

CVE-2023-41892Craft CMS Remote Code Execution vulnerabilityCWE-94: Improper Control of Generation of Code…
CVE-2024-56145RCE when PHP `register_argc_argv` config setting is enabled in craftcms/cmsCWE-94: Improper Control of Generation of Code…
CVE-2025-23209Potential RCE with a compromised security key in craft/cmsCWE-94: Improper Control of Generation of Code…
CVE-2025-32432Craft CMS Allows Remote Code ExecutionCWE-94: Improper Control of Generation of Code…
CVE-2025-54417Craft contains a theoretical bypass for CVE-2025-23209CWE-94: Improper Control of Generation of Code…
CVE-2026-28783Craft has a Twig Function Blocklist BypassCWE-94: Improper Control of Generation of Code…
CVE-2026-31857CraftCMS has an RCE vulnerability via relational conditionals in the control panelCWE-94: Improper Control of Generation of Code…
CVE-2026-55794Craft CMS: Potential authenticated Remote Code Execution via referrer redirectCWE-1336: Improper Neutralization of Special…
CVE-2026-56382Craft CMS - Remote Code Execution via Missing Config Sanitization in FieldsControllerCWE-94 Improper Control of Generation of Code…

9 records, read from the index as it stood on 20 Sep 2026. Every row opens the record it names, and every value on that record opens its own receipt.

Everything on this page is free. Public data. Withholding it protects nothing.