# CVE-2024-54149: Winter CMS Modules allows a sandbox bypass in Twig templates leading to data modification and deletion

> Authenticated users with template management permissions can bypass Twig sandbox restrictions to modify or delete theme and model data.

- **Severity:** High 8.5 (`CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** An administrator
- **Attackable:** Over the internet
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 9 Dec 2024
- **Updated:** 10 Dec 2024
- **Also known as:** GHSA-xhw3-4j3m-hq53

## What is CVE-2024-54149?

CVE-2024-54149 is a high-severity vulnerability in wintercms winter, published on 9 Dec 2024. An attacker needs administrator access to exploit it, and only if a user opens a file or follows a link.

### Official description

Winter is a free, open-source content management system (CMS) based on the Laravel PHP framework. Winter CMS prior to versions 1.2.7, 1.1.11, and 1.0.476 allow users with access to the CMS templates sections that modify Twig files to bypass the sandbox placed on Twig files and modify resources such as theme customisation values or modify, or remove, templates in the theme even if not provided direct access via the permissions. As all objects passed through to Twig are references to the live objects, it is also possible to also manipulate model data if models are passed directly to Twig, including changing attributes or even removing records entirely. In most cases, this is unwanted behavior and potentially dangerous. To actively exploit this security issue, an attacker would need access to the Backend with a user account with any of the following permissions: `cms.manage_layouts`; `cms.manage_pages`; or `cms.manage_partials`. The Winter CMS maintainers strongly recommend that these permissions only be reserved to trusted administrators and developers in general. The maintainers of Winter CMS have significantly increased the scope of the sandbox, effectively making all models and datasources read-only in Twig, in versions 1.2.7, 1.1.11, and 1.0.476. Thse who cannot upgrade may apply commit fb88e6fabde3b3278ce1844e581c87dcf7daee22 to their Winter CMS installation manually to resolve the issue. In the rare event that a Winter user was relying on being able to write to models/datasources within their Twig templates, they should instead use or create components to make changes to their models.

Weakness: CWE-184 (Incomplete List of Disallowed Inputs)

## Which versions are affected by CVE-2024-54149?

6 open source packages ship an affected version, including winter/wn-cms-module. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `winter/wn-cms-module` | Packagist | All versions | 1.0.476 |
| `winter/wn-cms-module` | Packagist | All versions | 1.0.476 |
| `winter/wn-cms-module` | Packagist | From 1.1.0 | 1.1.11 |
| `winter/wn-cms-module` | Packagist | From 1.1.0 | 1.1.11 |
| `winter/wn-cms-module` | Packagist | From 1.2.0 | 1.2.7 |
| `winter/wn-cms-module` | Packagist | From 1.2.0 | 1.2.7 |

Products: Wintercms Winter.

## How do I fix CVE-2024-54149?

Upgrade winter/wn-cms-module to a fixed version for your release line: 1.0.476, 1.1.11 or 1.2.7.

## Is CVE-2024-54149 being exploited?

There is no known exploitation of CVE-2024-54149 in the wild and no public exploit code.

## Other vulnerabilities in wintercms winter

- [CVE-2026-27591](https://insights.sbomify.com/CVE-2026-27591/): Winter: Privilege escalation by authenticated backend users (critical 10.0)
- [CVE-2022-39357](https://insights.sbomify.com/CVE-2022-39357/): Winter vulnerable to Prototype Pollution in Snowboard framework (high 8.1)
- [CVE-2024-29686](https://insights.sbomify.com/CVE-2024-29686/): Winter CMS Server-Side Template Injection (SSTI) vulnerability (high 7.2)
- [CVE-2023-52085](https://insights.sbomify.com/CVE-2023-52085/): Winter CMS Local File Inclusion through Server Side Template Injection (low 3.3)
- [CVE-2023-52083](https://insights.sbomify.com/CVE-2023-52083/): Stored XSS through privileged upload of Media Manager file followed by renaming (low 2.0)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2024-54149 and fix it if it is affected.

What it is: CVE-2024-54149 is a high-severity vulnerability in wintercms winter, published on 9 Dec 2024. An attacker needs administrator access to exploit it, and only if a user opens a file or follows a link.
Exploitation: There is no known exploitation of CVE-2024-54149 in the wild and no public exploit code.

Affected packages and fixed versions:
- winter/wn-cms-module (Packagist): affected all versions; fixed in 1.0.476
- winter/wn-cms-module (Packagist): affected all versions; fixed in 1.0.476
- winter/wn-cms-module (Packagist): affected from 1.1.0; fixed in 1.1.11
- winter/wn-cms-module (Packagist): affected from 1.1.0; fixed in 1.1.11
- winter/wn-cms-module (Packagist): affected from 1.2.0; fixed in 1.2.7
- winter/wn-cms-module (Packagist): affected from 1.2.0; fixed in 1.2.7

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2024-54149/ (Markdown: https://insights.sbomify.com/CVE-2024-54149/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2024-54149
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2024-54149
- OSV: https://osv.dev/vulnerability/CVE-2024-54149

---
From sbomify Insights: https://insights.sbomify.com/CVE-2024-54149/
Summaries are generated and may contain mistakes; the official description above is the record.
