This is different to: #25820
Instead, I'm referring to the <version>
tag in the Joomla package manifest: https://github.com/joomla/joomla-cms/blob/staging/administrator/manifests/files/joomla.xml#L9
Unless the host (or yourself) block directly access to this file, it can be used 3rd parties to get the Joomla version. If a known security vulnerability with Joomla comes to light, you can simply see what version of Joomla said website is using and exploit it if they haven't updated.
There are of course other easy ways to get the Joomla version externally without the needed of this manifest file, but this would be an attackers first attempt of getting the version externally.
I know this is used for detecting whether or not there's an update for Joomla, but seeing as you have Version
class (https://github.com/joomla/joomla-cms/blob/staging/libraries/src/Version.php), would it not be better to make an exception in the update checker, so that if it's searching for a core CMS update, it gets the user's current version from the class as opposed to the manifest?
Labels |
Added:
?
|
Title |
|
Labels |
Added:
J4 Issue
|
Status | New | ⇒ | Discussion |
Should've never written the core update process to try and update Joomla as an extension of Joomla in the first place (and that probably has implications that I'll not go into publicly).
The XML manifest for extensions is invalid if it doesn't have a <version>
tag, so without making it optional for everything at the XSD level, then you can't write a bypass rule for one scenario.
@mbabker Just for me understanding: What do you mean with "core update process to try and update Joomla as an extension of Joomla in the first place"? The method to use extension installer to update the core CMS like it worked until before 3.5? Or the "Upload & Update" method which was included into the Joomla Update Component" with 3.6? I am not sure what you mean, maybe because I am not native English speaker.
Please keep on topic
I won't derail this but basically Joomla core updates itself in the same way that an extension of Joomla would and everything that integrates with the Joomla\CMS\Updater
and Joomla\CMS\Installer
libraries has the same requirements as an extension would (hence the joomla.xml
file mentioned here must be a valid extension manifest and can't omit the <version>
element).
@brianteeman What the hell is here off topic? Michael explained why the version can't be removed easily from the XML, ok, with a bit historic background, and I asked him a question about his comment in order to understand it right. Was your tea bad?
Not sure what the opinions are on this but closing for now. Can be reopened if need be.
Status | Discussion | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2019-08-27 14:10:19 |
Closed_By | ⇒ | C-Lodder |
That's why its a pointless change. See https://github.com/blackhatethicalhacking/CMSeeK/blob/master/VersionDetect/joom.py