Silverstripe Assets Module has a DBFile::getURL() permission bypass
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass, Privilege escalation
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-863 and CWE-266.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| silverstripe | silverstripe-assets | before 2.4.5; 3.0.0-rc1 to before 3.1.3 | 2.4.5, 3.1.3 | Patch available | CNA |
| — | silverstripe/assets (Packagist) | before 2.4.5 | 2.4.5 | Patch available | GHSA-jgcf-rf45-2f8v |
| — | silverstripe/assets (Packagist) | 3.0.0 to before 3.1.3 | 3.1.3 | Patch available | GHSA-jgcf-rf45-2f8v |
- silverstripe-assets Vendorsilverstripe Affected before 2.4.5; 3.0.0-rc1 to before 3.1.3 Fixed in 2.4.5, 3.1.3 Patch available CNA
- silverstripe/assets (Packagist) Vendor— Affected before 2.4.5 Fixed in 2.4.5 Patch available GHSA-jgcf-rf45-2f8v
- silverstripe/assets (Packagist) Vendor— Affected 3.0.0 to before 3.1.3 Fixed in 3.1.3 Patch available GHSA-jgcf-rf45-2f8v
Remediation
- Fix · CNA silverstripe-assets (silverstripe) Fixed in 2.4.5, 3.1.3
- Fix · GHSA-jgcf-rf45-2f8v silverstripe/assets (Packagist) Fixed in 2.4.5 Advisory →
- Fix · GHSA-jgcf-rf45-2f8v silverstripe/assets (Packagist) Fixed in 3.1.3 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-24749
- 2026-10-03 Alias added: GHSA-jgcf-rf45-2f8v
References
Other 4
- https://github.com/silverstripe/silverstripe-assets/security/advisories/GHSA-jgcf-rf45-2f8v
- https://www.silverstripe.org/download/security-releases/cve-2026-24749
- https://github.com/FriendsOfPHP/security-advisories/blob/master/silverstripe/assets/CVE-2026-24749.yaml
- https://github.com/silverstripe/silverstripe-assets
More silverstripe vulnerabilities
- TI-2007-02239 Unspecified vulnerability in the search functionality in SilverStripe 2.0.0 has unknown impact and attack vectors. CVSS 2.0HIGH 10.0
- TI-2019-09110 In SilverStripe through 4.3.3, a missing warning about leaving install.php in a public… CVSS 3.1CRITICAL 9.8
- TI-2019-09070 SQL injection vulnerability in silverstripe/restfulserver module 1.0.x before 1.0.9… CVSS 3.0CRITICAL 9.8
- TI-2019-04049 All versions of SilverStripe 3 prior to 3.6.7 and 3.7.3, and all versions of SilverStripe… CVSS 3.0CRITICAL 9.8
- TI-2022-17852 Silverstripe silverstripe/framework through 4.11 allows SQL Injection. CVSS 3.1HIGH 8.8
- TI-2020-07444 Silverstripe CMS through 4.5 can be susceptible to script execution from malicious upload… CVSS 3.1HIGH 8.8
Sources
- CVE-2026-24749 · CVE Program
- CVE-2026-24749 · NVD
- FIRST EPSS
- GHSA-jgcf-rf45-2f8v · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences