Page 1 of 1

[Fermé] Maj Smarty et modules PHP 8.0.x

Posted: Sat Feb 26, 2022 11:05 am
by jce76350
Voir sur le forum FR
http://www.cmsmadesimple.fr/forum/threa ... l#pid34955
"..Pour information la version de Smarty utlisée sur CMSMS est la 3.1.31 qui date du 14/12/2016 ( Smarty.class.php => const SMARTY_VERSION =
Il existe depuis cette date des alertes de sécurité .."
Et donc des correction possibles

et aussi des notes sur "Modules non compatibles PHP 8.x"
http://www.cmsmadesimple.fr/forum/thread-4646.html

Re: Maj Smarty et modules PHP 8.x

Posted: Wed Mar 09, 2022 10:50 am
by jce76350
... les détails ... car le serveur cmsmadesimple.fr/forum a quelques fois des interruptions momentanées ;)

Pour information la version de Smarty utlisée sur CMSMS est la 3.1.31 qui date du 14/12/2016 ( Smarty.class.php => const SMARTY_VERSION = '3.1.31';)
Il existe depuis cette date des alertes de sécurité (Security)
For information the version of Smarty used on CMSMS is 3.1.31 which dates from 14/12/2016 ( Smarty.class.php => const SMARTY_VERSION = '3.1.31';) There are since this date security alerts (Security)
[3.1.43] - 2022-01-10
Security
Prevent evasion of the static_classes security policy. This addresses CVE-2021-21408
[3.1.42] - 2022-01-10
Security
Prevent arbitrary PHP code execution through maliciously crafted expression for the math function. This addresses CVE-2021-29454
[3.1.39] - 2021-02-17
Security
Prevent access to $smarty.template_object in sandbox mode. This addresses CVE-2021-26119.
Fixed code injection vulnerability by using illegal function names in {function name='blah'}{/function}. This addresses CVE-2021-26120.
3.1.33-dev-4 -
bugfix regarding Security Vulnerability did not solve the problem under Linux. Security issue CVE-2018-16831

la dernière version de Smarty est la 3.1.44 du 18/01/2022
the latest version of Smarty is 3.1.44 dated 18/01/2022

qui corrige ces failles et aussi d'autres bugs
Avant la sortie de le 2.2.16 j'avais poser la question à un développeur sur ce soucis de mise à jour (pas prévue)
Donc voila comme il y a des membres de la Team qui lisent ce forum j'informe ;)

les détails de la correction
---------------------------------
- pour intégrer le paquet Smarty 3.1.44 sur la version CMSMS 2.2.16 c'est possible sans trop de difficultés ;) enfin sur mes tests aussi bien en local en PHP 7.4.28 et 8.0.16 que sur un serveur PHP 8.0.15
La cause &$smarty) // passed by reference
- en local sur une version brute d'installation modules standard ET sans modules externes
- sur le serveur une version de production multilangues avec modules standard + modules externe ( SmartyExt + DownCnt)

Pour mettre à jour :
* Il suffit de renommer le dossier /lib/smarty existant en smarty3131 et d'ajouter le nouveau dossier smarty (3.1.44)
* Mais il faudra corriger quelques fichier
Pour la partie Admin modification des fichiers
/admin/systeminfo.php ligne 47
function systeminfo_lang($params,$smarty) // -& de ,&$smarty) OK smarty-3.1.44
/admin/checksum.php ligne 40
function checksum_lang($params,$smarty) // -& de ,&$smarty) OK smarty-3.1.44
Pour la partie site Web modification des fichiers
/lib/classes/internal/class.CMS_Content_Block.php ligne 324
public static function smarty_fetch_pagedata($params,$smarty) // -& de ,&$smarty) OK smarty-3.1.44
/lib/classes/class.usertagoperations.inc.php ligne 305 (cause balise utilisateur {cookies} pour afficher une popup d'information)
$code = 'function '.$functionname.'($params,$smarty) {'.$row['code']."\n}"; // -& de ,&$smarty) OK smarty-3.1.44

UPDATE 24/02/22 (à cause d'un plugin de téléchargement (DownCnt)
ajout de /lib/classes/class.CMSModule.php ligne 249
final static public function function_plugin($params,$template) // -& de ,&$template) OK smarty-3.1.44

A vous de tester et de donner vos résultats en fonction de modules installées
Si besoin du paquet Smarty 3.1.44 et des fichiers modifiés -> envoyer moi un mail

NOTA PHP 8.1.x c'est inutile trop de correction de code à faire des warnings et plus ..

- Addition -
Ha tiens encore un truc pour ... ou erreur de nommage plutôt
dans les fichiers du cms le dossier /lib/smarty (smarty) est tout en minuscules alors que dans le dossier /phar_installer/lib/ il est Nommé Smarty avec un S majuscule ;)

Re: Maj Smarty et modules PHP 8.x

Posted: Wed Mar 09, 2022 10:50 am
by jce76350
Pour information j'ai mis en ligne une version "2.2.16a Truro-modification 05/03/22" complète avec la version smarty 3.1.44 + les fichiers modifiés sur ma page "Ressources pour CMSMS Version 2.2.x"compatible PHP 8.0.x et PHP 7.4.28. en 2 versions installateur et Jeu de fichiers.
Vous pouvez tester et me donner des retours ;)

EDIT 11/03/2020 - la version passe en 2.2.16.1b pour éviter l'alerte Admin sur la version ;)

Re: Maj Smarty et modules PHP 8.x

Posted: Wed Mar 09, 2022 3:42 pm
by creopard
Merci d'avoir partagé cette information.
Serait-ce également possible avec Smarty 4.x, étant donné qu'il est entièrement compatible avec PHP 8.x ?

Re: Maj Smarty et modules PHP 8.x

Posted: Wed Mar 09, 2022 6:05 pm
by jce76350
>Merci d'avoir partagé cette information.
attention j'ai tester avec les modules standard et les modules que j’utilise (j'ai plusieurs cms qui sont sous PHP 8.0.x), il faut bien tester avec des modules additionnels !

>Serait-ce également possible avec Smarty 4.x, étant donné qu'il est entièrement compatible avec PHP 8.x ?
heu ...
1-Smarty 4.1 est une refonte de smarty, et pas encore assez mure ;)
pour le moment la version 3.x est fonctionnelle et ne pose pas de problème d'adaptation pour PHP 8.0.x pour CMSms
2- CMS2.2.2.x est NON compatible Smarty 4.1 (y aura du boulot)
3- CMS2.2.2.16 aussi pas trop compatible PHP 8.1.x, il y a un paquet de fichiers à reprendre, mais ça marche enfin pour la version standard

Re: Maj Smarty et modules PHP 8.0.x

Posted: Fri Mar 11, 2022 10:16 am
by creopard
Merci, c'est très bien expliqué!

Je crois qu'il n'y a pas encore de rapport de bug pour l'implémentation "officielle" de la nouvelle version de SMARTY 3.1.x?
http://dev.cmsmadesimple.org/bug/list/6

Re: Maj Smarty et modules PHP 8.0.x

Posted: Fri Mar 11, 2022 8:38 pm
by jce76350
>Je crois qu'il n'y a pas encore de rapport de bug pour l'implémentation "officielle" de la nouvelle version de SMARTY 3.1.x?

Non mais ce n'est pas un bug mais une "correction de sécurité" et j'avais prévenu les développeurs le 14/12/2021 >:D
Et j'ai aussi prévenu les membres français du Dev Team
Et si tu veux tu peux faire un rapport de bug.

Re: Maj Smarty et modules PHP 8.0.x

Posted: Fri Mar 25, 2022 8:35 pm
by Franck
jce76350 wrote: Fri Mar 11, 2022 8:38 pm >Je crois qu'il n'y a pas encore de rapport de bug pour l'implémentation "officielle" de la nouvelle version de SMARTY 3.1.x?

Non mais ce n'est pas un bug mais une "correction de sécurité" et j'avais prévenu les développeurs le 14/12/2021 >:D
Et j'ai aussi prévenu les membres français du Dev Team
Oué, tout le monde est sous l'eau en ce moment… :'(

Re: Maj Smarty et modules PHP 8.0.x

Posted: Thu Apr 21, 2022 7:55 am
by jce76350
discussion Fermée cause future version 2.2.17