J4 Issue ?
avatar C-Lodder
C-Lodder
14 Aug 2019

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?

avatar C-Lodder C-Lodder - open - 14 Aug 2019
avatar joomla-cms-bot joomla-cms-bot - change - 14 Aug 2019
Labels Added: ?
avatar joomla-cms-bot joomla-cms-bot - labeled - 14 Aug 2019
avatar brianteeman
brianteeman - comment - 14 Aug 2019

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.

That's why its a pointless change. See https://github.com/blackhatethicalhacking/CMSeeK/blob/master/VersionDetect/joom.py

avatar franz-wohlkoenig franz-wohlkoenig - change - 14 Aug 2019
Title
Remove version from Joomla manifest
[4.0] Remove version from Joomla manifest
avatar franz-wohlkoenig franz-wohlkoenig - edited - 14 Aug 2019
avatar franz-wohlkoenig franz-wohlkoenig - change - 14 Aug 2019
Labels Added: J4 Issue
avatar franz-wohlkoenig franz-wohlkoenig - labeled - 14 Aug 2019
avatar franz-wohlkoenig franz-wohlkoenig - change - 14 Aug 2019
Status New Discussion
avatar mbabker
mbabker - comment - 14 Aug 2019

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.

avatar richard67
richard67 - comment - 14 Aug 2019

@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.

avatar brianteeman
brianteeman - comment - 14 Aug 2019

Please keep on topic

avatar mbabker
mbabker - comment - 14 Aug 2019

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).

avatar richard67
richard67 - comment - 14 Aug 2019

@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?

avatar richard67
richard67 - comment - 14 Aug 2019

@mbabker Thanks for the explanation, I understand.

avatar C-Lodder
C-Lodder - comment - 27 Aug 2019

Not sure what the opinions are on this but closing for now. Can be reopened if need be.

avatar C-Lodder C-Lodder - change - 27 Aug 2019
Status Discussion Closed
Closed_Date 0000-00-00 00:00:00 2019-08-27 14:10:19
Closed_By C-Lodder
avatar C-Lodder C-Lodder - close - 27 Aug 2019

Add a Comment

Login with GitHub to post a comment