vciy

Twigphp twig, protection mechanism failure: 10 records, one defect family

Twigphp twig has been reported 10 separate times for the same kind of mistake, CWE-693, between 2024-09-09 and 2026-07-14. 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 Twigphp twig and carries CWE-693, 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. 10 filings, between 2024-09-09 and 2026-07-14, 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 Twigphp twig, 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.

202420252026CVE-2024-45411, published 2024-09-09CVE-2026-24425, published 2026-05-20CVE-2026-46634, published 2026-07-14CVE-2026-46638, published 2026-07-14CVE-2026-46639, published 2026-07-14CVE-2026-48805, published 2026-07-14CVE-2026-48806, published 2026-07-14CVE-2026-48807, published 2026-07-14CVE-2026-48808, published 2026-07-14CVE-2026-49981, published 2026-07-14
9 of the 10 were published in 2026, and the rest are spread over 1.8 years, so this is one concentrated year with a tail rather than a steady rate.

The names the authorities used

One spelling, used by every authority that filed one of these records: twigphp twig.

These records name more than one weakness class each. All 10 carry CWE-693, which is what this family was grouped on, and 4 of them also name CWE-863, incorrect authorization. The roster below shows what each record names; both readings are the record's own, filed together by the same authority.

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 10 records publish a fixed version. For the other 9, held sources name none.

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

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-2024-45411Twig has a possible sandbox bypassCWE-693: Protection Mechanism Failure
CVE-2026-24425Twig 2.16.x & 3.9.0-3.25.x Sandbox Bypass via SourcePolicyInterfaceCWE-693 Protection Mechanism Failure
CVE-2026-46634Twig: `template_from_string()` escapes a SourcePolicy-driven sandbox via synthesized template nameCWE-693: Protection Mechanism Failure
CVE-2026-46638Twig: `{% sandbox %}{% include %}` skips checkSecurity() on cached templates (incomplete fix for CVE-2024-45411)CWE-693: Protection Mechanism Failure
CVE-2026-46639Twig: Sandbox property and method bypass via object-destructuring assignmentCWE-693: Protection Mechanism Failure
CVE-2026-48805Twig: Sandbox state regression in deprecated internal wrappers in `src/Resources/core.php`CWE-693: Protection Mechanism Failure
CVE-2026-48806Twig: Sandbox `__toString()` policy bypass via dynamic mapping keysCWE-693: Protection Mechanism Failure
CVE-2026-48807Twig: Sandbox `__toString()` policy bypass via `Traversable` in `join` and `replace` filtersCWE-693: Protection Mechanism Failure
CVE-2026-48808Twig: Sandbox property allowlist bypass via the `column` filter under `SourcePolicyInterface`CWE-693: Protection Mechanism Failure
CVE-2026-49981Twig: Sandbox filter, tag and function allow-list bypass when sandbox state changes between renders for a cached…CWE-693: Protection Mechanism Failure

10 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.