Aller au contenu

CVE-2026-84869 : transfert de fichiers et exécution à distance non autorisés dans le client ConnectWise ScreenConnect

HERMES

SCORE DE MENACE HERMES & COMPROMISSION DE L'AGENT D'ACCÈS DISTANT

Cible : ConnectWise ScreenConnect (Client d'Accès et Support Distant)
Confiance : 99%
98 / 100
CRITIQUE

Mesure la pertinence opérationnelle réelle, la militarisation de l'exploit et la posture de menace active.

Décomposition des dimensions
Exploitabilité 20 / 20
Activité de menace 20 / 20
Militarisation 20 / 20
Exposition 18 / 20
Prévalence 19 / 20
Impact 20 / 20
Maturité de l'exploit 20 / 20
Potentiel d'attaque en chaîne 20 / 20
⚖️ Divergence & Justification opérationnelle

Le CVSS v3.1 attribue à la CVE-2026-84869 la note critique de 9.9 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H). Le score de menace Hermes évalue la sévérité à 98 (CRITIQUE). Cet alignement souligne le risque opérationnel majeur : tout participant disposant d'une session active ScreenConnect peut transférer silencieusement des fichiers et exécuter des binaires avec les privilèges SYSTEM sur le poste client, sans autorisation ni confirmation visuelle de l'utilisateur.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-84869: Unrestricted File Transfer and Remote Execution in ConnectWise ScreenConnect Client via Active Session Authorization BypassVULNÉRABILITÉ

Nœuds connectés : 2
Relations sortantes actives
→ affectsCOMPOSANTConnectWise ScreenConnect
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Confirmed security vulnerability in ConnectWise ScreenConnect documented in Hermes dossier.”

Preuves vérifiées associées :
→ usesTECHNIQUE D'ATTAQUET1059: Command and Scripting Interpreter
90% VERY_HIGH

Adversaries abuse command and script interpreters (Bash, Python, PowerShell) to execute arbitrary commands.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Attack execution telemetry aligns with MITRE ATT&CK technique T1059.”

Preuves vérifiées associées :

1. Contexte technique & matrice des versions affectées

Section intitulée « 1. Contexte technique & matrice des versions affectées »

ScreenConnect repose sur une architecture de relais centralisée reliant les techniciens (“Hosts”) aux machines distantes (“Guests” ou agents sans assistance).

ParamètreSpécification TechniqueContexte Threat Intelligence
Identifiant CVECVE-2026-84869Référencement officiel NVD & CISA KEV
Faiblesse CWECWE-862 (Missing Authorization), CWE-269 (Improper Privilege Management)Défaut de contrôle d’autorisation protocolaire
Vecteur réseauRéseau via le relais ScreenConnect (8040/TCP, 8041/TCP, HTTPS)Canaux de commande encapsulés dans la session
Composant vulnérableClient ScreenConnect (ScreenConnect.ClientService.exe / ScreenConnect.WindowsClient.exe)Gestionnaire de transfert de fichier et d’exécution
Versions affectéesToutes les versions clientes ScreenConnect < 26.6.5 (< 26.6.5.9742)Postes clients Windows, macOS et Linux
Version corrigée26.6.5 (26.6.5.9742)Mise à jour officielle (8 septembre 2026)
Inclusion CISA KEV11 septembre 2026 (Échéance : 14 septembre 2026)Triage Forensique : Oui (BOD 26-04)
Activité criminelleExploitation active confirmée (Affiliés Ransomware & IABs)Dépôt silencieux de charges utiles et mouvement latéral

2. Décomposition technique approfondie & cause racine

Section intitulée « 2. Décomposition technique approfondie & cause racine »

A. Faille de désérialisation des commandes dans l’agent client

Section intitulée « A. Faille de désérialisation des commandes dans l’agent client »

Lorsqu’une session de contrôle à distance est active, le serveur relais transmet les paquets de données entre les participants sans inspecter leur légitimité sémantique.

Dans les versions clientes antérieures à la 26.6.5, le traitement des messages de type FileTransfer et ExecuteProcess souffrait de deux défaillances critiques :

  1. Absence de contrôle d’autorisation : l’agent client présumait que tout message relayé par la session provenait d’un technicien dûment habilité, sans vérifier si le rôle effectif du participant disposait des droits TransferFiles ou RunTool.
  2. Contournement de la confirmation utilisateur : alors que les paramètres de politique peuvent imposer une demande d’accord à l’utilisateur (“Demander la permission à l’invité”), le parseur client exécutait directement l’ordre en arrière-plan sans solliciter le sous-système d’affichage d’invite :
// Représentation conceptuelle du traitement vulnérable des messages dans le client
public void HandleSessionMessage(SessionMessage message)
{
switch (message.MessageType)
{
case MessageType.FileTransfer:
// VULNÉRABILITÉ : Aucun contrôle de droits ni d'accord utilisateur
string destinationPath = Path.Combine(Path.GetTempPath(), message.FileName);
File.WriteAllBytes(destinationPath, message.Payload);
if (message.AutoExecute)
{
// Lancement direct sous le compte du service (SYSTEM)
ProcessStartInfo psi = new ProcessStartInfo(destinationPath)
{
UseShellExecute = false,
CreateNoWindow = true
};
Process.Start(psi);
}
break;
}
}
sequenceDiagram
autonumber
actor Attaquant as Attaquant (Accès Session Faible / Invité)
participant Relais as Serveur Relais ScreenConnect
participant Client as Agent Client Vulnérable (SYSTEM)
participant Poste as Système d'Exploitation / Écran Victime
Attaquant->>Relais: Connexion à la session distante active
Relais-->>Attaquant: Canal de session établi
Attaquant->>Relais: Envoi du paquet forgé FileTransfer & Execute (payload.exe)
Relais->>Client: Retransmission du paquet encapsulé
Note over Client: Absence de contrôle de droits et d'accord utilisateur.<br/>Traitement silencieux en tâche de fond.
Client->>Poste: Écriture de payload.exe dans C:\Windows\Temp\
Client->>Poste: Process.Start("C:\Windows\Temp\payload.exe")
Note over Poste: Processus exécuté sous NT AUTHORITY\SYSTEM !<br/>Aucun message ni confirmation à l'écran.
Poste-->>Attaquant: Connexion C2 établie / Exécution du ransomware

Étape 1 : accès à la session et émission de la charge utile

Section intitulée « Étape 1 : accès à la session et émission de la charge utile »

L’attaquant exploite un accès initial restreint : participation à une session ouverte de télé-assistance, compromission d’un compte support sans droits d’administration ou détournement d’une session non clôturée.

À travers un client personnalisé ou un script interagissant avec le protocole ScreenConnect, il injecte une séquence de messages commandant au client distant d’écrire un fichier exécutable dans %TEMP% et d’en ordonner le démarrage immédiat.

Comme le service ScreenConnect fonctionne sous l’identité NT AUTHORITY\SYSTEM sur Windows, la charge utile hérite immédiatement de ces prérogatives maximales. L’attaquant contourne le contrôle de compte d’utilisateur (UAC), désactive les solutions de sécurité de type EDR et déploie des implants persistants (balises Cobalt Strike, Sliver ou chiffreurs de rançongiciels).


TactiqueIdentifiantNom de la TechniqueManifestation dans l’Attaque
Accès initialT1190Exploit Public-Facing ApplicationExploitation des canaux de session via le relais
ExécutionT1059.003Windows Command ShellExécution silencieuse de binaires et scripts via l’agent
Élévation de privilègesT1068Exploitation for Privilege EscalationÉlévation depuis un participant de session vers SYSTEM
Évasion de défenseT1218System Binary Proxy ExecutionUtilisation du binaire signé de ScreenConnect comme proxy
Mouvement latéralT1219Remote Access SoftwareDétournement d’outils d’administration MSP vers les flottes clientes

A. Règle Sigma : création de processus anormale par ScreenConnect

Section intitulée « A. Règle Sigma : création de processus anormale par ScreenConnect »
title: Processus fils suspect créé par le client ScreenConnect
id: d7c9a2e4-8486-4b19-9012-cve202684869
status: production
description: Détecte le lancement d'interpréteurs de commande ou d'exécutables inhabituels par ScreenConnect (CVE-2026-84869)
author: Hermes Codex Cyber Threat Intelligence
date: 2026-09-11
logsource:
category: process_creation
product: windows
detection:
selection:
ParentImage|endswith:
- '\ScreenConnect.ClientService.exe'
- '\ScreenConnect.WindowsClient.exe'
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\pwsh.exe'
- '\certutil.exe'
- '\mshta.exe'
- '\rundll32.exe'
- '\cscript.exe'
- '\wscript.exe'
- '\bitsadmin.exe'
condition: selection
fields:
- ComputerName
- User
- ParentImage
- Image
- CommandLine
falsepositives:
- Scripts de maintenance légitimes exécutés par les administrateurs vérifiés
level: critical
tags:
- attack.execution
- attack.t1059.003
- attack.privilege_escalation
- attack.t1068
- cve.2026.84869
alert tcp $EXTERNAL_NET any -> $HOME_NET [8040,8041] (
msg:"HERMES - Tentative de transfert de fichier non autorise sur client ScreenConnect (CVE-2026-84869)";
flow:established,to_server;
content:"ScreenConnect"; nocase;
content:"TransferFile"; distance:0;
content:"ExecuteProcess"; distance:0;
classtype:attempted-admin;
sid:202684869;
rev:1;
reference:cve,2026-84869;
)

Triage forensique requis (directive CISA BOD 26-04)

Section intitulée « Triage forensique requis (directive CISA BOD 26-04) »
  1. Journaux de session ScreenConnect : Inspecter les répertoires %ProgramData%\ScreenConnect\App_Data\*.log ou %TEMP%\ScreenConnect\*.log à la recherche de mentions de transfert de fichiers sans confirmation explicite de l’utilisateur.
  2. Journaux d’événements Windows (event ID 4688 / Sysmon 1) : Rechercher les exécutions de processus dont le processus parent est ScreenConnect.ClientService.exe avec des fichiers situés dans des répertoires temporaires :
    Fenêtre de terminal
    Get-WinEvent -FilterHashtable @{LogName='Security';ID=4688} | Where-Object {
    $_.Properties[13].Value -match 'ScreenConnect' -and
    $_.Properties[5].Value -match 'Temp|AppData'
    } | Select-Object TimeCreated, @{N='Parent';E={$_.Properties[13].Value}}, @{N='Process';E={$_.Properties[5].Value}}
  3. Artefacts sur le système de fichiers : Examiner %SystemRoot%\Temp\ et %LOCALAPPDATA%\Temp\ pour détecter d’éventuels binaires inconnus créés lors de sessions de support récentes.

  1. Mise à niveau du serveur ScreenConnect : Mettre à jour immédiatement les serveurs self-hosted vers la version 26.6.5 (build 26.6.5.9742) ou supérieure.
  2. Réinstallation / mise à jour des agents clients sur les postes : La mise à jour du serveur ne suffit pas. Les administrateurs doivent impérativement déclencher la réinstallation de l’agent client hôte depuis la console ScreenConnect (“Reinstall Host Client”) sur l’ensemble des groupes de machines.
  3. Renforcement des politiques d’accès : Exiger l’authentification multifacteur (MFA) sur tous les comptes techniciens et restreindre les sessions d’invités non authentifiées.