Aller au contenu
Blog

DedeCMS · FineReport · FanRuan

DedeCMS, FineReport, YiShaAdmin, Bytebase : quatre vieilles failles enfin numérotées (CVE-2021-48016, 48014, CVE-2022-51022, 51026)

CVE-2021-48016, 48014, CVE-2022-51022 et 51026 : quatre failles connues depuis des années, trois déjà exploitées, reçoivent un identifiant. Que vérifier.

Le 22 octobre 2026, NVD a publié quatre CVE aux identifiants 2021 et 2022 : DedeCMS, FineReport (FanRuan), YiShaAdmin et Bytebase. Toutes ont été attribuées par VulnCheck, qui comble ainsi un manque : ces failles étaient documentées publiquement depuis des années, parfois avec un modèle Nuclei, mais n'avaient pas d'identifiant CVE.

Pour trois d'entre elles, la description NVD précise que la Shadowserver Foundation a observé des tentatives d'exploitation dès octobre 2023. Ce ne sont donc pas des nouveautés pour les attaquants ; c'est leur absence de CVE qui les rendait invisibles pour les scanners et les outils de veille qui s'appuient sur ce référentiel.

ProduitCVECVSS 3.1Classe (CWE)Versions (description NVD)Exploitation observée
DedeCMSCVE-2021-480169.8Injection de code (CWE-94)jusqu'à 5.8.1-betaoui, 2023-10-14
FineReportCVE-2021-480149.8Traversée de chemin (CWE-22)9.0oui, 2023-10-14
YiShaAdminCVE-2022-510229.1Traversée de chemin (CWE-22)2.2 à 3.1, corrigé au commit 025b062oui, 2023-10-20
BytebaseCVE-2022-510269.8Contournement d'authentification (CWE-290)0.12.0 à avant 1.0.1non mentionnée

Les scores CVSS 3.1 sont publiés par VulnCheck (CNA). Vecteur AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H pour trois d'entre elles ; YiShaAdmin est à C:H/I:N/A:H (lecture et suppression de fichiers, pas d'écriture). En CVSS 4.0, VulnCheck donne 9.3, sauf YiShaAdmin à 8.8. NVD n'a pas analysé ces entrées : Deferred pour DedeCMS, FineReport et YiShaAdmin, Received pour Bytebase. Les dates d'exploitation sont celles de la description NVD (observations Shadowserver) ; aucune de ces CVE n'est au CISA KEV à la date de rédaction.


DedeCMS — CVE-2021-48016 : le Referer exécuté

DedeCMS, CMS PHP très répandu en Chine, écrit l'en-tête HTTP Referer dans une chaîne de modèle DedeTemplate à l'intérieur de ShowMsg(), puis l'inclut. Un attaquant non authentifié envoie à /plus/flink.php?dopost=save, avec un code de validation vide, un Referer contenant du PHP : il obtient l'exécution de code PHP et de commandes système.

NVD ne cite aucune version corrigée : la plage va « jusqu'à 5.8.1-beta ».

FineReport — CVE-2021-48014 : écriture de webshell

Dans FineReport 9.0, l'opération design_save_svg de /WebReport/ReportServer accepte un paramètre filePath sans contrôle. Une requête POST non authentifiée avec des séquences de traversée dans filePath et une charge dans __CONTENT__ permet d'écrire un webshell JSP, donc d'exécuter du code à distance.

Aucune version corrigée n'est indiquée par NVD : renvoi vers l'éditeur FanRuan.

YiShaAdmin — CVE-2022-51022 : lire et supprimer n'importe quel fichier

Le point de terminaison /admin/File/DownloadFile de YiShaAdmin (panneau d'administration .NET) prend un paramètre filePath sans authentification ni validation. Avec des séquences de traversée, un attaquant lit des fichiers système ; avec le paramètre delete, il les supprime. D'où l'impact sur la disponibilité dans le vecteur.

NVD indique une correction au commit 025b062 du dépôt.

Bytebase — CVE-2022-51026 : se connecter avec son propre GitLab

Bytebase, outil de gestion des changements de schéma de bases de données, faisait confiance à la configuration du fournisseur GitLab envoyée par le client sur POST /api/auth/login/GITLAB_SELF_HOST. L'attaquant indique comme instanceUrl un serveur qu'il contrôle, qui répond avec un utilisateur actif et l'adresse email de son choix. Bytebase émet alors une session pour ce compte : usurpation de n'importe quel utilisateur, y compris le propriétaire (Owner), ou création de nouveaux membres.

Version 1.0.1 référencée par NVD comme première hors plage. Pour un outil qui détient des accès en écriture aux bases de production, une instance restée sur une version antérieure mérite d'être retrouvée.


Pourquoi ces vieux identifiants comptent

  1. Les scanners raisonnent en CVE. Une faille sans identifiant n'apparaît ni dans les rapports de vulnérabilité, ni dans les alertes basées sur NVD. Ces quatre-là deviennent visibles aujourd'hui.
  2. Une exploitation de 2023 n'est pas de l'histoire ancienne. Des instances DedeCMS, FineReport ou YiShaAdmin jamais mises à jour restent en ligne pendant des années, et les modèles Nuclei cités en références rendent leur recherche triviale.
  3. Absence de version corrigée ne veut pas dire absence de risque. Pour DedeCMS et FineReport, NVD ne donne aucune version de sortie : l'exposition sur Internet est alors la vraie variable.

Ce sont des déductions : NVD ne décrit pas de campagne récente pour ces CVE.


Détection

  • Inventaire : ces produits sont souvent déployés par des intégrateurs ou dans des filiales. Cherche les chemins /plus/flink.php (DedeCMS), /WebReport/ReportServer (FineReport), /admin/File/DownloadFile (YiShaAdmin) et l'interface Bytebase.
  • Journaux web :
    • DedeCMS : requêtes vers /plus/flink.php?dopost=save avec un Referer contenant du code PHP ;
    • FineReport : POST design_save_svg avec ../ dans filePath, nouveaux fichiers .jsp dans l'arborescence web ;
    • YiShaAdmin : filePath contenant ../ ou le paramètre delete ;
    • Bytebase : connexions via GITLAB_SELF_HOST avec un instanceUrl qui n'est pas ton GitLab.
  • Modèles Nuclei : ceux référencés par NVD pour DedeCMS, FineReport et YiShaAdmin permettent de vérifier ton propre périmètre.

Mitigation

  1. Bytebase : passe en 1.0.1 ou au-delà (en pratique, une version maintenue), et vérifie la liste des membres et du propriétaire.
  2. YiShaAdmin : intègre le correctif du commit 025b062 ou une version qui l'inclut.
  3. DedeCMS et FineReport : sans version corrigée citée par NVD, retire ces applications d'Internet (VPN, filtrage IP) et consulte l'éditeur. Bloque au minimum /plus/flink.php et l'opération design_save_svg au niveau du reverse proxy.
  4. Si une instance a été exposée : vu l'exploitation observée depuis 2023, cherche des webshells et des comptes inconnus avant de considérer le serveur sain.

Pourquoi surveiller en continu votre parc applicatif

Une application installée il y a quatre ans peut recevoir une CVE critique aujourd'hui, pour une faille exploitée depuis trois ans. Seul un inventaire tenu à jour permet de faire le lien.

Avec cveo.tech, ajoute tes applications web à ton parc et reçois une alerte dès qu'une CVE critique les touche, même quand elle porte un identifiant ancien.

Chaque lundi

Les CVE critiques de la semaine, dans votre boîte mail

Un email par semaine : les vulnérabilités CVSS ≥ 9 publiées ces sept derniers jours, et nos dernières analyses. Rien d'autre.

Double confirmation par email. Désinscription en un clic, à tout moment.

Surveillez votre propre parc

Recherche CVE, inventaire de parc et alertes email, gratuitement.