GHSA-xhw3-4j3m-hq53

Suggest an improvement
Source
https://github.com/advisories/GHSA-xhw3-4j3m-hq53
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/12/GHSA-xhw3-4j3m-hq53/GHSA-xhw3-4j3m-hq53.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-xhw3-4j3m-hq53
Aliases
Published
2024-12-09T20:41:41Z
Modified
2024-12-09T22:00:58.334713Z
Severity
  • 8.4 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H CVSS Calculator
Summary
Winter CMS Modules allows a sandbox bypass in Twig templates leading to data modification and deletion
Details

Impact

Affected versions of Winter CMS 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 - cms.manage_partials

The Winter CMS maintainers strongly recommend that these permissions only be reserved to trusted administrators and developers in general.

Patches

In order to mitigate this issue, we have significantly increased the scope of the sandbox, effectively making all models and datasources read-only in Twig.

This security issue has been fixed as of https://github.com/wintercms/winter/commit/fb88e6fabde3b3278ce1844e581c87dcf7daee22.

Workarounds

If you cannot upgrade, you may apply commit https://github.com/wintercms/winter/commit/fb88e6fabde3b3278ce1844e581c87dcf7daee22 to your Winter CMS installation manually to resolve this issue.

In the rare event that you were relying on being able to write to models/datasources within your Twig templates, you should instead use or create components to make changes to your models.

Database specific
{
    "nvd_published_at": "2024-12-09T21:15:08Z",
    "cwe_ids": [
        "CWE-184"
    ],
    "severity": "HIGH",
    "github_reviewed": true,
    "github_reviewed_at": "2024-12-09T20:41:41Z"
}
References

Affected packages

Packagist / winter/wn-cms-module

Package

Name
winter/wn-cms-module
Purl
pkg:composer/winter/wn-cms-module

Affected ranges

Type
ECOSYSTEM
Events
Introduced
1.2.0
Fixed
1.2.7

Affected versions

v1.*

v1.2.0
v1.2.1
v1.2.2
v1.2.3
v1.2.4
v1.2.5
v1.2.6

Packagist / winter/wn-cms-module

Package

Name
winter/wn-cms-module
Purl
pkg:composer/winter/wn-cms-module

Affected ranges

Type
ECOSYSTEM
Events
Introduced
1.1.0
Fixed
1.1.11

Affected versions

v1.*

v1.1.2
v1.1.3
v1.1.4
v1.1.5
v1.1.6
v1.1.7
v1.1.8
v1.1.9

Packagist / winter/wn-cms-module

Package

Name
winter/wn-cms-module
Purl
pkg:composer/winter/wn-cms-module

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.0.476

Affected versions

v1.*

v1.0.473
v1.0.474
v1.0.475