Skip to main content

Silverstripe Assets EUVDEUVD-2026-23275

| CVE-2026-24749 MEDIUM
Incorrect Authorization (CWE-863)
2026-04-16 GitHub_M GHSA-jgcf-rf45-2f8v
5.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Send HTTP request to page rendering protected image
  2. Exploit
    Template invokes image manipulation method (ScaleWidth/Convert)
  3. Execution
    DBFile::getURL() fires and writes unauthorized session access grant
  4. Impact
    Retrieve protected file content using granted session token

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

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

Exploitation Conditions

Exploitation requires that the Silverstripe site uses the "protected" file visibility setting - files set to "public" are not affected since there is no permission boundary to bypass. The vulnerable code path fires when templates render images stored via DBFile (including standard Silverstripe File/Image DataObjects) using manipulation methods such as ScaleWidth(), FitMax(), or Convert(), which internally invoke DBFile::getURL() or DBFile::getSourceURL(). No authentication is required; any unauthenticated HTTP session that causes a protected image variant to be generated triggers the grant. Sites that do not use protected file visibility at all, or that do not render image variants in templates, are not exposed. The scope of exposed content is limited to files the incorrect grant covers - typically the specific image variant rendered, not arbitrary files.

Impact

The CVSS 5.3 Medium score with vector AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N signals a low-complexity, unauthenticated, network-exploitable flaw, but impact is bounded to partial confidentiality loss. EPSS at 0.03% (8th percentile) and SSVC exploitation status of "none" both confirm no observed active exploitation, making this a lower real-world priority than the network-accessible CVSS vector alone might imply. The SSVC automatable flag (yes) indicates the access grant can be triggered predictably and at scale - any unauthenticated page request that causes image variant rendering fires the vulnerable code path - which is a meaningful amplifier. Technical impact is partial: only files under "protected" visibility are exposed, limiting scope to sites that actually configure file protection. No conflict between data sources is observed; all signals are internally consistent. Patch versions are confirmed and available, making remediation straightforward.

Exploit ScenarioDerived

An unauthenticated visitor loads a public-facing Silverstripe page that renders a protected image in its template. The template call invokes ScaleWidth() to generate a resized variant, which internally triggers DBFile::getURL(); the module incorrectly writes a session-level access grant. The attacker's browser session now holds an authorization token for that protected file and any variant derived from it, enabling direct retrieval of the asset URL without legitimate permission. No exploit code is publicly available, but the attack is fully automatable via any standard HTTP client.

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

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

Alert me

AnalysisAIv1 – Jul 24, 2026

Protected file access bypass in Silverstripe Assets Module allows unauthenticated remote visitors to read files that should be restricted by the CMS file permission system. When image variants are generated via template rendering - for example calling ScaleWidth() or Convert() - the DBFile::getURL() and DBFile::getSourceURL() methods incorrectly insert an access grant into the current HTTP session, nullifying the "protected" visibility setting for those files. Versions prior to 2.4.5 and 3.0.0-rc1 through 3.1.2 are affected; patches exist at 2.4.5 and 3.1.3. No public exploit has been identified at time of analysis, and EPSS is very low at 0.03%, but SSVC flags the attack as automatable.

RemediationAI

Upgrade silverstripe/assets to version 2.4.5 (for 2.x deployments) or 3.1.3 (for 3.x deployments) via Composer: composer update silverstripe/assets. Full vendor guidance is at https://www.silverstripe.org/download/security-releases/cve-2026-24749. Post-upgrade, developers who use DBFile directly in $db configurations on DataObject classes that do not subclass File and had set those files to "protected" visibility must now add explicit access grants in application code, since the incorrect implicit grant will no longer fire. If explicit grants are undesirable, change those file fields to "public" visibility - note this trade-off makes the files publicly readable without any session check. No workaround that avoids template image rendering is practical for most sites; patching is the only reliable remediation.

Affected VersionsENISA

silverstripe-assets < 2.4.5
silverstripe-assets 3.0.0-rc1, < 3.1.3

Affected Packages

composer silverstripe/assets fix: 2.4.5, 3.1.3
euvd silverstripe_assets fix: 2.4.5
euvd silverstripe_assets_3_0_0_rc1 fix: 3.1.3

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 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

Silverstripe Assets is a required Composer package (silverstripe/assets) for the Silverstripe CMS Framework, responsible for managing file storage, access control, and image manipulation. The module supports two visibility modes - "public" and "protected" - where protected files require an explicit access grant before a session can retrieve them. CWE-863 (Incorrect Authorization) identifies the root cause: the session-based grant mechanism fires incorrectly during image variant creation. Specifically, when DBFile::getURL() or DBFile::getSourceURL() is called - as happens automatically when Silverstripe templates invoke manipulation methods like ScaleWidth() or Convert() - the module writes a session-level access grant without verifying whether the requesting user is authorized to view the underlying protected asset. The CPE string cpe:2.3:a:silverstripe:silverstripe-assets covers the affected package across both the 2.x and 3.x release lines.

Know when Silverstripe Assets 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 (GitHub_M) PRIMARY 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 5.3 MEDIUM

Network-reachable via standard template rendering, no authentication or user interaction needed; impact is read-only access to protected files, no integrity or availability consequence.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

3
Patch released
Apr 28, 2026 - 21:15 nvd
Patch available
Patch available
Apr 16, 2026 - 18:02 EUVD
CVE Published
Apr 16, 2026 - 17:08 nvd
MEDIUM 5.3

DescriptionCVE.org

The Silverstripe Assets Module is a required component of Silverstripe Framework. In versions prior to 2.4.5 and 3.0.0-rc1 through 3.1.2, images rendered in templates or otherwise accessed via DBFile::getURL() or DBFile::getSourceURL() incorrectly add an access grant to the current session, which bypasses file permissions. This usually happens when creating an image variant, for example using a manipulation method like ScaleWidth() or Convert(). Note that if developers use DBFile directly in the $db configuration for a DataObject class that doesn't subclass File, and if they were setting the visibility of those files to "protected", those files will now need an explicit access grant to be accessed. If developers do not want to explicitly provide access grants for these files in their apps (i.e. they want these files to be accessible by default), they should use the "public" visibility. This issue has been fixed in versions 2.4.5 and 3.1.3.

Threat Intelligence Overview

EPSS Score
0.0%
Top 92% exploitable
Prevalence
Low
niche CMS, strongest footprint in AU/NZ enterprise and government
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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.0%
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
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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