Skip to main content

Winter CMS CVE-2026-79773

| EUVDEUVD-2026-65531 MEDIUM
Path Traversal (CWE-22)
2026-08-25 VulnCheck GHSA-gqr6-9g7c-7g7r
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain backend account with cms.manage_assets
  2. Delivery
    Edit theme JS asset to embed =include ../../../.env directive
  3. Exploit
    Trigger asset compilation via page load
  4. Execution
    Retrieve disclosed .env contents from public /combine/{file} URL
  5. Impact
    Extract APP_KEY and database credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an active Winter CMS backend account with the cms.manage_assets permission ('Manage website assets - images, JavaScript files, CSS files'). By default this permission is assigned to the built-in Developer role. The attacker must be able to write to a theme JavaScript asset via this permission. No special network conditions or non-default configuration is required beyond holding this permission. Target files must have a file extension (pre-patch, extension-less targets had .js appended - a minor restriction). The limiting factor for initial exploitation is the PR:H authentication barrier, making this an insider-threat or post-compromise escalation scenario; however, once the malicious asset is saved, the credential disclosure is accessible to fully unauthenticated visitors via the public combine route with no further attacker action needed.

Impact

The CVSS 4.0 score of 6.9 (AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N) accurately captures the two-phase risk profile: exploitation is gated by PR:H (cms.manage_assets), substantially limiting attacker population, but the resulting disclosure of APP_KEY and database credentials via an unauthenticated public route represents a high-severity confidentiality impact. No EPSS data was provided in the input, so exploitation probability cannot be quantified. KEV status is negative (not listed by CISA), and no public exploit code has been identified. Despite low CVSS complexity (AC:L, AT:N), real-world risk is bounded by the requirement for a compromised or malicious insider account with the specific cms.manage_assets permission. However, the cascading impact is severe: APP_KEY exposure enables Laravel deserialization attacks on many Winter CMS deployments, and database credential exposure enables direct data access. The Winter CMS maintainers explicitly flag that this permission should be restricted to trusted admins - environments where developer or contractor accounts hold this permission face materially higher risk. No signals conflict in the available data.

Exploit ScenarioDerived

An attacker with a compromised or malicious Winter CMS backend account bearing cms.manage_assets opens a theme JavaScript asset in the backend editor and inserts a comment block containing =include ../../../.env. On the next page load referencing that asset, the combiner inlines the .env file contents into the compiled JavaScript, which is then served at a stable, publicly-accessible /combine/{file} URL. The attacker - or any unauthenticated visitor who discovers the URL - can retrieve the APP_KEY and database credentials directly from the JavaScript response.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 25, 2026

Local file inclusion in Winter CMS before 1.2.13 allows authenticated backend users holding the cms.manage_assets permission to exfiltrate arbitrary server-readable files - including .env - by embedding =include or =require path-traversal directives in theme JavaScript assets. The critical escalation is that the resulting combined asset output is served unauthenticated via the public combine/{file} route, meaning a single privileged write operation exposes APP_KEY and database credentials to any unauthenticated visitor. This is the JavaScript-importer counterpart of two prior Winter CMS LFI bugs (GHSA-58fp-mcx6-7qf9, CVE-2023-52085) in the same asset combiner pipeline. No public exploit identified at time of analysis; vendor-released patch available in 1.2.13.

RemediationAI

Upgrade to Winter CMS 1.2.13 or later - vendor-released patch confirmed. The fix applies setAllowedImportRoots confinement (restricting imports to themes_path, plugins_path, and base_path/modules) and a .js-only extension gate to JavascriptImporter, mirroring protections already in place for LESS and CSS filters. Patch commits are available at https://github.com/wintercms/winter/commit/e09c8d3526f3583cb6c3476a021b885088ecd4bd and https://github.com/wintercms/storm/commit/fd673f4f32140c97c68b1ed705764b819747fbdf. As a compensating control prior to patching, remove the cms.manage_assets permission from all non-essential backend roles (editors, contractors, developers who do not require direct asset file access); note this disables theme asset editing in the backend for those users. Do not attempt to block the combine/{file} route as a mitigation - it serves legitimate combined assets required for site functionality and blocking it would break the front end.

Affected VersionsENISA

winter 0 <1.2.13

Affected Packages

composer winter/wn-system-module fix: 1.2.13
euvd winter fix: 1.2.13

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause (CWE-22, Path Traversal) lies in Winter\Storm\Parse\Assetic\Filter\JavascriptImporter, which processes =include and =require directives found in JavaScript asset comment blocks. When an asset is passed through System\Classes\CombineAssets, the importer resolved directive targets using PHP's realpath() relative to the including file's directory with no path-confinement check, allowing arbitrary ../ traversal to escape the theme asset tree. The only pre-patch restriction was that extension-less targets had .js appended; targets with an explicit extension (e.g., .env, .php, .log) were inlined verbatim. The combined output is then served at the /combine/{file} route, which the commit diff confirms performs no authentication or authorization checks. CPE cpe:2.3:a:wintercms:winter:*:*:*:*:*:*:*:* covers all versions before 1.2.13. The fix adds two independent gates to JavascriptImporter - a .js-only extension allowlist applied before path resolution, and setAllowedImportRoots confinement (themes_path, plugins_path, base_path/modules) applied identically to the LESS and CSS filters patched in prior advisories.

Know when Winter gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.9 MEDIUM

PR:H required for cms.manage_assets; S:U as both write and public read occur within the same Winter CMS instance; C:H for APP_KEY and credential disclosure; no integrity or availability impact.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Winter CMS before 1.2.13 contains a local file inclusion vulnerability in the JavascriptImporter filter that allows authenticated users with cms.manage_assets permission to disclose arbitrary server-readable files by placing =include or =require directives in theme JavaScript assets. Attackers can reference files like .env outside the theme directory, and the combined output served through the combine route becomes readable by unauthenticated visitors, exposing application keys and database credentials.

Threat Intelligence Overview

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Low
niche PHP CMS with limited enterprise footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in Winter

View all

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy