ZwiiCMS 13 est disponible
Pourquoi Zwii 13 ?
Cette évolution majeure tient compte d’un constat implacable, le manque de sécurisation du CMS dans les versions précédentes et ceci jusqu’avant la version 12.4
Zwii 12.4 corrige une partie de ces vulnérabilités, malheureusement de manière insuffisante. À ce jour, Zwii 13 n'étant pas encore disponible, je ne donnerai pas d'exemple des vulnérabilités. Il faut juste savoir qu'un utilisateur non connecté peut réaliser une certain nombre d'actions sur la configuration du site. Toutes les versions antérieures et les éventuels fork comme Delta CMS souffrent des mêmes vulnérabilités.
Je rappelle d'ailleurs que désormais la licence ne permet plus de distribuer un fork de Zwii. Bien évidemment, vous pouvez bidouiller Zwii et apporter des modifications dans le code sans pour autant les diffuser.
Zwii 13 est développé depuis quelques mois, c’est en testant le fonctionnement des nouveaux profils d’utilisateurs que les faiblesses sont apparues. On peut imaginer que des hackeurs aient mis la main sur ces mêmes vulnérabilités, voilà pourquoi le développement de Zwii 13 est devenu une priorité.
Le but de cette version 13 est de s'assurer que les rôles sont strictement respectés et qu'aucune action sur la configuration est possible sans avoir été autorisée.
Rappel des rôles dans Zwii
Les rôles correspondent à des groupes d'utilisateurs. Qu’ils disposent d’un compte ou pas, les utilisateurs de Zwii sont répartis dans des groupes fixes. Les groupes sont identifiés par des constantes et un nom explicite qui est listé dans la gestion des utilisateurs.
Il y a quelques années, un module proposait de créer un nouveau groupe, les adhérents. Ce groupe n’autorisait pas l’édition du compte et la modification du mot de passe. Les nouvelles dispositions de profil éliminent la nécessité de créer des groupes supplémentaires.
Utilisateur banni :
- il dispose d’un compte inactivé ;
- la constante du groupe est -1.
Visiteur :
- il ne dispose pas d’un compte, tout accès au CMS hors connexion est identifié par ce rôle ;
- la constante du groupe est 0.
Membre :
- le membre dispose d’un compte ;
- ce compte lui donne accès aux pages privées ;
- la constante du groupe est 1.
Éditeur ou modérateur :
- le membre dispose d’un compte ;
- ce compte lui donne accès à des fonctions d’édition du contenu du site ;
- ce compte ne lui donne pas accès aux fonctions d’administration du site, la configuration, la gestion des utilisateurs, le thème, les plugins (extensions ou modules), les langues du site ;
- Il peut disposer d’un accès à un dossier partagé ;
- la constante du groupe est 2.
Administrateur :
- ce compte dispose de tous les droits sur le site ;
- la constante du groupe est 3.
Les profils de groupes
Les profils sont une nouveauté introduite par Zwii 13, ils définissent précisément les droits des membres et des éditeurs. Les deux groupes restrictifs, visiteurs et bannis ne sont pas concernés, car ils ne disposent d'aucun droit, ni d’ailleurs le groupe des administrateurs qui disposent de toutes les permissions.
En quelque sorte, les profils sont des sous-groupes.
Dans une installation vierge ou après une mise à jour, quatre profils sont créés. Il est possible d'éditer et d'ajouter autant de profils que nécessaire et bien sûr de supprimer un profil, dans la mesure où il n'est pas affecté.
Profils proposés par défaut lors de la mise à jour :
Membre simple (profil 1) :
Le membre simple dispose des mêmes droits que le membre standard, l’accès unique aux pages privés.
Membre (profil 2) :
Le membre accède aux pages réservées et à un dossier partagé.
La sélection du dossier partagé s’effectue dans la définition du profil, ce n’est pas le seul réglage, il est désormais possible de définir précisément les autorisations sur les fichiers et les dossiers :
Ce n’est pas le seul paramètre, la permission d’éditer les paramètres du compte est proposée. Une fois l’option décochée, les membres associés à ce profil ne pourront plus éditer le compte utilisateur et changer le mot de passe. Ce profil devient équivalent au groupe adhérent proposé jadis dans le cadre d'un module, ce qui est idéal pour les associations.
Profils des éditeurs ou modérateurs (code 2)
L’éditeur dispose des droits d’édition des pages, dans les faits, il a la capacité de disposer de tous les droits d’édition à l’exception des droits qui sont réservés à l’administrateur. Le modérateur peut bénéficier des mêmes droits que les membres sur les fichiers et les dossiers.
Éditeur simple (profil 1)
Ce rôle est limité à la création de contenu texte, il peut agir sur le contenu des pages, des blogs et des news :
Il peut éditer son propre compte, gérer les fichiers d’un dossier partagé, mais de dispose pas de droits sur les dossiers :
Le rédacteur (profil 2)
Il dispose de tous les droits d’édition des pages, de création et de suppression. Il peut également gérer tous les modules.
Au niveau des fichiers, il ne peut pas gérer les dossiers contenus dans le dossier de partage.
L’administrateur (code 3)
Par défaut, l’administrateur dispose de tous les droits sur le site.
Ces permissions ne sont pas partagées avec les autres profils :
- la configuration
- les utilisateurs
- les groupes et les permissions
- le thème
- les langues
Cas particuliers
Quand un module est installé et que les droits ne sont pas proposés dans le profil. C'est le groupe qui détermine les autorisations selon ce que le programmeur du module a défini dans les actions de la classe du module. Le membre du groupe conserve alors tous les droits qui ont été attribués au groupe des éditeurs.
Après l'installation de Zwii 13 ?
Les profils par défaut sont affectés aux membres des groupes, membre simple et éditeur simple. Tant que l'administrateur n'ajuste pas les permissions, elles sont identiques à un Zwii standard.
Les autres fonctionnalités de Zwii 13

Corrections
ZwiiCMS 12.4.00
Cette version propose une mise à jour renforce la sécurité du CMS, son installation est vivement recommandée.
- L'ID de session n'est plus transmise dans l'URL, les modules distribués ont été actualisés.
- Corrections de bug dans le module Blog, merci de consulter le fichier changes.log du module.
ZwiiCMS 12.3.11
- Interdit la création d'une langue autrement que par un administrateur.
ZwiiCMS 12.3.10
- Edition d'un utilisateur, affiche correctement la langue de l'interface dans l'édition d'un utilisateur.
- Mise à jour du fichier dialog.php de Responsive File Manager
- Vulnérabilité dans ajax_call.php CVE-2020-10567, désactivation de TUI Editor et de la fonction save_image.
ZwiiCMS 12.3.09
Dernière version de la branche 12.3
Corrections
- Corrige le filtrage des modules orphelins.
- Corrige l'installation en langue étrangère non prise en compte depuis 12.3.08
- Corrige le bug d'affichage avec le module de recherche.
Modifications
- Autorise la modification de la langue du site par défaut.
- Traduction de "Motorisé par" dans la personnalisation des données de la langue du site.
ZwiiCMS 12.3.08
- Amélioration du code liée à la traduction du contenu du CMS.
- Implémentation d'un message d'avertissement de suppression d'une langue de site ou de contenu.
- Correction des dialogues de traduction.
- Correction dans le footer de l'activation d'une page spéciale non désignée.
- Thème : simplification des valeurs de sélection, la valeur remplace une désignation, 80% au lieu de Petit.
- Thème : suppression des bulles d'aides trop verbeuses.
ZwiiCMS 12.3.07
Corrections
- Corrige un affichage erroné en fin d'installation
- Corrige une erreur 404 lors de l'accès à une page dans une langue étrangère et bascule dans le format de langue correct.
- Permets l'affichage des pages orphelines dans les redirections du formulaire, module désormais en version 3.8.
Amélioration
- Les caractères spéciaux dans le mot de passe sont reconnus.