Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[Fermé] Alerte Smarty
#1

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'Wink
Il existe depuis cette date des alertes de sécurité (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
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  Wink

J-C Etiemble v 2.2.xx
#2

Donc la suite ... pour une correction des CVE
- pour intégrer le paquet Smarty 3.1.44 sur la version CMSMS 2.2.16 c'est possible sans trop de difficultés Wink  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 ..

J-C Etiemble v 2.2.xx
#3

Je viens de voir qu'ils ont sorti une version 4.1.0 compatible PHP 8.1.
Il va falloir qu'on avance sur les versions…

Merci pour le rappel !

Ouik - communication . outils numériques . design graphique
#4

Citation :Je viens de voir qu'ils ont sorti une version 4.1.0 compatible PHP 8.1.
Comme je l'ai indiqué c'est pas la peine de prendre cette version "trop de correction de code à faire des warnings et plus..."
c'est incompatible CMSMS qui lui même est incompatible PHP 8.1
il faut déjà mettre à jour en smarty 3.1.44  Wink  pour PHP 8.0
PHP 7.4.xx  n'est plus qu'en "Security" juqu'au 28 Nov 2022 Wink

et vérifier  la compatibilité des modules en PHP 8.0 déjà

J-C Etiemble v 2.2.xx
#5

Oui tu sais j'avais compris, pour la version smarty et PHP et CMSMS.

Ouik - communication . outils numériques . design graphique
#6

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 Wink

J-C Etiemble v 2.2.xx
#7

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 Wink

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

J-C Etiemble v 2.2.xx
#8

Sujet fermé
suite
- à la sortie sur le SVN de "Smarty now upgraded to 3.1.44"
- la future version 2.2.17

J-C Etiemble v 2.2.xx
Sujet fermé


Atteindre :


Utilisateur(s) parcourant ce sujet : 3 visiteur(s)