User tests: Successful: Unsuccessful:
Pull Request resolves # .
joomla/filesystem was bumped from 4.1.0 → 4.2.0 (via the composer update in #48019). Version 4.2.0 ("Harden upload method against executable file uploads" #81) makes File::upload() run an isSafeFile() scan by default (new $allowUnsafe = false parameter), which rejects archives/files that contain PHP.
Several backend upload sites legitimately handle PHP and are Super-User-only, so since 4.2.0 they throw a FilesystemException and show "There was an error uploading this file to the server." (or the template-manager equivalent). The caller code is unchanged since 6.1.1 — only the library default changed, so this is a regression introduced with the bump.
This PR passes $allowUnsafe = true at the three affected, Super-User-only call sites, which already validate/scope the target afterwards. The library default is deliberately not changed, so the new safety scan keeps protecting every other caller (media manager, etc.).
Changed:
administrator/components/com_installer/src/Model/InstallModel.php — extension package uploadadministrator/components/com_joomlaupdate/src/Model/UpdateModel.php — Joomla update package uploadadministrator/components/com_templates/src/Model/TemplateModel.php — template file uploadjoomla/filesystem 4.2.0 (current 6.1-dev / 6.1.2-rc2):
.zip..php file (e.g. an override).Uploading an extension package, a Joomla update package, or a .php/.zip file in the template manager fails with an upload error — installing/updating and template file uploads via the backend are impossible.
All three upload paths work again, as they did on 6.1.1 (joomla/filesystem 4.1.0).
com_templates)The template file upload is a Super-User-only action: TemplateController::allowEdit() requires authorise('core.admin') on the root asset (global Super User), not the component asset — so an Administrator cannot reach it. The same user can already create/save/copy .php template files through the editor with no safety scan, so re-allowing the upload restores a consistent, intended behaviour without widening exposure. (Added after maintainer confirmation to restore the previous behaviour here as well.)
Please select:
Documentation link for guide.joomla.org:
No documentation changes for guide.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed
| Status | New | ⇒ | Pending |
| Category | ⇒ | Administration com_installer com_joomlaupdate |
| Labels |
Added:
PR-6.1-dev
|
||
| Category | Administration com_installer com_joomlaupdate | ⇒ | Administration com_installer com_joomlaupdate com_templates |
I have tested this item ✅ successfully on 2169f99
Tested with JBT and 6.1.2-rc2
.php file in site templateI have tested this item ✅ successfully on 2169f99
Tested with JBT and 6.1.2-rc2
.php file in site templateI have tested this item ✅ successfully on 2169f99
Updated from 6.1.1 to 6.1.2rc1. Verified an extension couldn't be installed via package file. Applied patch. Could then install an extension via package file. Thanks Stefan.
Edited to add: I updated to 6.1.2rc2 and tested, not rc1. Apologies.
I have tested this item ✅ successfully on 2169f99
Updated from 6.1.1 to 6.1.2rc1. Verified an extension couldn't be installed via package file. Applied patch. Could then install an extension via package file. Thanks Stefan.
I have tested this item ✅ successfully on 2169f99
Updated from 6.1.1 to 6.1.2rc1. Verified an extension couldn't be installed via package file. Applied patch. Could then install an extension via package file. Thanks Stefan.
| Status | Pending | ⇒ | Ready to Commit |
RTC
RTC
| Status | Ready to Commit | ⇒ | Fixed in Code Base |
| Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2026-07-01 21:10:46 |
| Closed_By | ⇒ | HLeithner | |
| Labels |
Added:
RTC
Release Blocker
bug
|
||
Lets do so!