Skip to content
OpenAdvisories
Medium · 5.3 CVE-2026-24749 EUVD-2026-23275GHSA-jgcf-rf45-2f8v

Silverstripe Assets Module has a DBFile::getURL() permission bypass

Published Apr 16, 2026 · Updated Apr 18, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
silverstripe silverstripe-assets < 2.4.5, >= 3.0.0-rc1, < 3.1.3 —

Affected packages

EcosystemPackageAffectedFixedRecord
Packagist silverstripe/assets < 2.4.5 2.4.5 GHSA-jgcf-rf45-2f8v
Packagist silverstripe/assets >= 3.0.0, < 3.1.3 3.1.3 GHSA-jgcf-rf45-2f8v

References