Drupal security updates, in plain English · Module

Stage File Proxy

27,334 sites report using it · on drupal.org · 1 security update explained here

This module copies files from a live website to a development website when they are needed.

Below is every security update for Stage File Proxy that this site has covered, newest first. Each one says who could exploit it, whether it applies to your site, how urgent it is, and what to tell your developer. If your site uses this module and you are not sure which version, that is the first question to ask whoever looks after it.

Stage File Proxy

Critical · 27,334 sites report using it · SA-CONTRIB-2026-286 · on drupal.org · Week of 28 October 2026

The module does not properly check file web addresses for malicious content. Someone could use this to run malicious scripts and change or add data. They could not do this unless they can upload a malicious file to the live website.

  • Who could do thisAnyone visiting the site. No login needed.
  • Does it apply to youThis development module is turned on and an attacker can upload a malicious file to the live server.
  • Has it been used in attacksNo sign of it.
  • How urgentDrupal rates this critical. Cyber Essentials expects a fix within 14 days. Do it this week.

Tell your developerUpdate Stage File Proxy to 4.0.1 or 3.1.7, whichever branch you are on.

For developers: what the fix changed

The fix updates `DownloadManager::fetch()` to ensure that fallback retrieval on a 404 error only processes paths starting with `styles/`, preventing malicious content in file URLs from triggering a cross-site scripting vulnerability.

Also in this release Added WebP support, an interval option for Drush downloads, and fixed hotlink redirects for filenames with multiple dots.

4.0.0 to 4.0.1 8 commits, 12 files including 3 tests.

  • .cspell-project-words.txt +2 −0
  • .gitlab-ci.yml +8 −57
  • composer.json +5 −1
  • src/Controller/ImageStyleDownloadController.php +10 −12
  • src/DownloadManager.php +30 −1 fix
  • src/DownloadManagerInterface.php +11 −0
  • src/Drush/Commands/StageFileProxyCommands.php +6 −0
  • src/EventSubscriber/StageFileProxySubscriber.php +8 −2
  • src/Hook/FileHooks.php +29 −0

Full diff, 4.0.0 to 4.0.1 · Full diff, 3.1.6 to 3.1.7

The comparison is against the release immediately before the fix. If your site is on an older release, more will have changed.

Not sure what your site is running?

Send me your Drupal site's address.

I'll tell you what I can see from outside, what the Drupal 10 end of life on 9 December means for it, and what it would cost to have me keep it patched. There's no charge for that and no obligation. peter@peterbrady.co.uk


Get in touch

Tell me who you are, what your organisation does, and what you need. That might be a Drupal site that needs looking after, an upgrade to get done before December, or an agency that needs Drupal cover.

If I can help, I'll say so and suggest a call. If I can't, I'll tell you straight away rather than waste your time.

peter@peterbrady.co.uk

For context: I work mainly with UK membership bodies, charities and research organisations, and with the agencies that look after their websites. Not recruiters.

Or start smaller and connect with me on LinkedIn. That's where I post what I find digging around in charity and grants data, and where the free tools turn up first.