Threat Intelligence

CVE-2026-110447 : injection de commande OS dans Collabora Online Built-in CODE Server, exploitée sur Nextcloud

Admin CyberAfrik 26 October 2026 4 lectures

Rapport CTI technique du 26 octobre 2026

Résumé exécutif

CVE-2026-110447 affecte Collabora Online : Built-in CODE Server (l'application Nextcloud richdocumentscode) avant la version 26.4.303. Il s'agit d'une injection de commande OS (CWE-78) dans le point d'accès proxy.php, exploitable à distance sans authentification lorsque le serveur CODE n'est pas en cours d'exécution. Le score CVSS est de 9.2, classé Critique. La vulnérabilité est exploitée dans la nature depuis septembre 2026. Elle a été ajoutée au catalogue CISA KEV le 23 octobre 2026, avec une échéance de remédiation au 26 octobre 2026.

Le correctif publié est richdocumentscode 26.4.303. Les déploiements Nextcloud avec cette application installée sont exposés, en particulier lorsque le serveur CODE est arrêté après un redémarrage, une mise à niveau ou un plantage. Les serveurs Collabora Online autonomes, les installations Docker ou par paquet de distribution et les offres d'hébergement Collabora ne sont pas affectés. Des webshells PHP ont été retrouvés sur plusieurs instances Nextcloud.

Chronologie

DateÉvénement
10 septembre 2026Premières requêtes d'exploitation observées dans les journaux, publiées dans l'issue GitHub #354.
11 septembre 2026Ouverture du rapport d'incident dans l'issue GitHub #354.
3 octobre 2026Alerte communautaire Nextcloud recommandant une mise à jour immédiate de richdocumentscode.
14 octobre 2026Publication de la CVE-2026-110447 et du score CVSS 9.2.
15-16 octobre 2026Découverte de webshells supplémentaires et d'un fichier Nx_33143.php via l'analyse d'intégrité Nextcloud.
23 octobre 2026Ajout au catalogue CISA KEV, tri forensique requis selon BOD 26-04.
26 octobre 2026Échéance de remédiation CISA, date du présent rapport.

Fiche vulnérabilité

CVE-2026-110447 | CVSS 9.2 Critique | Collabora Online : Built-in CODE Server (richdocumentscode)

Le mécanisme est une injection de commande OS dans proxy.php. L'application Built-in CODE Server utilise un appel PHP exec pour démarrer Collabora. Quand le serveur CODE n'est pas démarré, la requête HTTP transmise à proxy.php?status peut injecter une commande shell. Les journaux publiés montrent des requêtes GET vers /x$(...)/../apps/richdocumentscode/proxy.php?status et /x$(...)/%2e%2e/apps/richdocumentscode/proxy.php?status. L'attaquant combine un chemin relatif encodé, une substitution de commande $(...), une obfuscation des espaces par ${IFS} et un payload encodé en base64 exécuté par sh. Le payload décodé écrit un fichier PHP puis interroge un domaine de rappel avec le résultat de uname -a.

Versions affectées et corrigées:

StatutVersion ou configuration
Affectérichdocumentscode 26.4.302 et versions antérieures; NVD précise avant 26.4.303.
Corrigérichdocumentscode 26.4.303.
Non affectérichdocumentscode non installé; Collabora via Docker ou paquet de distribution; hébergement Collabora.

Conditions d'exploitation: accès réseau au point proxy.php?status, aucune authentification requise selon les journaux, et serveur CODE non démarré. La faille est différente de CVE-2025-66208 et n'existe pas dans les serveurs Collabora Online autonomes.

Un PoC public est disponible : l'issue GitHub #354 publie les requêtes HTTP complètes, les payloads décodés et le code du webshell PHP. L'exploitation active est confirmée par NVD, le catalogue CISA KEV et les webshells retrouvés sur des instances Nextcloud. Le tri forensique est requis par BOD 26-04. L'usage par un rançongiciel est inconnu.

Diagramme de la chaîne d'attaque

Chaîne d'attaque de CVE-2026-110447 (Collabora Online – Built-in CODE Server)
Injection proxy.php, webshell et découverte de secrets. Sources : github.com, help.nextcloud.com, cisa.gov, CISA KEV, NVD.

Analyse technique

Étape 1 : Accès initial via proxy.php

L'attaquant envoie une requête GET vers le chemin /x$(...)/../apps/richdocumentscode/proxy.php?status ou /x$(...)/%2e%2e/apps/richdocumentscode/proxy.php?status. Le composant visé est l'application Nextcloud richdocumentscode. L'injection n'aboutit que si le serveur CODE n'est pas démarré, par exemple après un redémarrage récent.

Étape 2 : Exécution de commande shell

Le chemin contrôlé est passé à un appel PHP exec et interprété par sh. Le payload base64 décode une commande qui crée un fichier PHP via echo et redirection, puis exécute curl ou wget vers webhook.site avec le résultat de uname -a encodé. L'obfuscation ${IFS} remplace les espaces pour contourner certains filtres. Le processus s'exécute avec les privilèges du compte serveur web.

Étape 3 : Dépôt du webshell

Les fichiers créés incluent shrf4645.php, shxa35d0.php et Nx_33143.php, placés dans apps/richdocumentscode. Le code récupéré est &1'); ?> ou une variante . L'attaquant vérifie l'accès par des requêtes ?c=id.

Étape 4 : Découverte et rappel

Une fois le webshell actif, l'attaquant exécute des commandes de découverte ciblant des artefacts de mots de passe et de cryptomonnaie: *.kdbx, wallet.dat, keystore.json, bitwarden, 1password, .bitcoin, .electrum, .monero, .ethereum. Les journaux examinés ne montrent pas de commande explicite d'archivage ou d'exfiltration de fichiers, mais le webshell tournant sous le compte serveur web peut lire ou modifier tout ce qui est accessible à ce compte. Le rappel vers webhook.site transmet des informations système.

Exposition

Sont exposées les instances Nextcloud qui ont installé richdocumentscode et qui exposent proxy.php?status sur Internet, notamment pendant les fenêtres où le serveur CODE est arrêté. La vulnérabilité ne touche pas les serveurs Collabora Online autonomes, ni les déploiements Collabora via Docker ou paquet de distribution, ni les offres d'hébergement Collabora. Un utilisateur du forum indique que l'exploitation a pu se produire même avec l'application désactivée; ce point n'est pas confirmé par l'éditeur dans les extraits disponibles.

Indicateurs de compromission

TypeValeur
IP source observée139.28.18.122
Domaine de rappelwebhook.site
Fragment d'identifiant de rappel774cf5e1-b... (tronqué dans la source)
Fichier webshell/apps/richdocumentscode/shrf4645.php
Fichier webshell/apps/richdocumentscode/shxa35d0.php
Fichier webshell/apps/richdocumentscode/Nx_33143.php
Motif de fichier/apps/richdocumentscode/shx*.php
Motif de requêteGET /apps/richdocumentscode/proxy.php?status avec $(...), ${IFS}, %2e%2e
Motif de vérification?c=id

Pistes de détection:

  • Revoir les journaux d'accès HTTP à partir du 10 septembre 2026 pour proxy.php?status, chaînes $(...), ${IFS}, %2e%2e et base64.
  • Exécuter l'analyse d'intégrité Nextcloud et rechercher tout fichier EXTRA_FILE dans apps/richdocumentscode.
  • Rechercher les fichiers PHP inattendus nommés shx*, shrf*, Nx_* et contenant system($_GET ou shell_exec.
  • Surveiller les connexions sortantes vers webhook.site et tout domaine de rappel similaire.
  • Inspecter les requêtes ?c=id ou ?c= vers ces fichiers.
  • Considérer tout accès du compte serveur web aux fichiers confidentiels, kdbx, wallet.dat, keystore.json, comme compromis potentiel.

MITRE ATT&CK

TactiqueTechniqueIDJustification
Initial AccessExploit Public-Facing ApplicationT1190Injection OS dans proxy.php accessible par HTTP.
ExecutionCommand and Scripting Interpreter: Unix ShellT1059.004Substitution de commande et exécution via sh.
Defense EvasionObfuscated Files or InformationT1027Encodage base64 et obfuscation des espaces avec ${IFS}.
PersistenceServer Software Component: Web ShellT1505.003Dépôt de fichiers PHP webshell dans l'application.
DiscoverySystem Information DiscoveryT1082Commande uname -a dans le rappel.
Credential AccessUnsecured Credentials: Credentials in FilesT1552.001Recherche de *.kdbx, wallet.dat, keystore.json, bitwarden, 1password.

Cette cartographie est une lecture analytique CyberAfrik. Aucune cartographie ATT&CK officielle n'est publiée dans les sources exploitées.

Remédiation : checklist opérationnelle

  1. Mettre à jour richdocumentscode vers 26.4.303 ou une version ultérieure; c'est le correctif publié.
  2. Si la mise à jour n'est pas possible immédiatement, retirer l'application richdocumentscode ou discontinuer son usage conformément à la consigne CISA.
  3. Ne pas considérer le correctif seul comme suffisant: rechercher les webshells déposés via l'analyse d'intégrité Nextcloud et l'inspection de apps/richdocumentscode pour shx*, shrf*, Nx_*.
  4. Revoir les journaux d'accès depuis le 10 septembre 2026 pour les requêtes proxy.php?status avec substitution de commande.
  5. Faire pivoter les secrets lisibles par le compte du serveur web: mot de passe de base de données, mots de passe d'application, clés.
  6. Bloquer ou surveiller les connexions sortantes vers webhook.site et les domaines de rappel.
  7. Vérifier l'exposition Internet de proxy.php?status et restreindre l'accès si l'application doit rester.

Sources

Tags : CVE-2026-110447Collabora OnlineNextcloudrichdocumentscodeOS command injectionCWE-78web shellCISA KEV
Partager cet article