CVE-2017-18362: Kaseya VSA 2017 ConnectWise ManagedITSync - Remote Code Execution

日期: 2025-08-01 | 影响软件: Kaseya VSA 2017 | POC: 已公开

漏洞描述

ConnectWise ManagedITSync integration through 2017 for Kaseya VSA is vulnerable to unauthenticated remote commands that allow full direct access to the Kaseya VSA database. If the ManagedIT.asmx page is available via the Kaseya VSA web interface, anyone with access to the page is able to run arbitrary SQL queries, both read and write, without authentication.In February 2019, attackers actively exploited this vulnerability in the wild to download and execute ransomware payloads on all endpoints managed by the VSA server.

PoC代码[已公开]

id: CVE-2017-18362

info:
  name: Kaseya VSA 2017 ConnectWise ManagedITSync - Remote Code Execution
  author: pussycat0x
  severity: critical
  description: |
    ConnectWise ManagedITSync integration through 2017 for Kaseya VSA is vulnerable to unauthenticated remote commands that allow full direct access to the Kaseya VSA database. If the ManagedIT.asmx page is available via the Kaseya VSA web interface, anyone with access to the page is able to run arbitrary SQL queries, both read and write, without authentication.In February 2019, attackers actively exploited this vulnerability in the wild to download and execute ransomware payloads on all endpoints managed by the VSA server.
  reference:
    - https://github.com/kbni/owlky
    - https://www.huntress.com/blog/cve-2017-18362-arbitrary-sql-injection-in-mangeditsync-integration-ba142ff24f4d
  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-2017-18362
    cwe-id: CWE-89
    epss-score: 0.88418
    epss-percentile: 0.99462
    cpe: cpe:2.3:a:connectwise:manageditsync:*:*:*:*:*:kaseya_vsa:*:*
  metadata:
    vendor: connectwise
    product: manageditsync
    framework: kaseya_vsa
  tags: cve,cve2017,kaseya,connectwise,sqli,kev,vkev

http:
  - raw:
      - |
        GET /KaseyaCwWebService/ManagedIT.asmx HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - contains_any(body, 'ManagedIT.asmx?op=', 'ExecuteSQLQuery')
          - status_code == 200
        condition: and
# digest: 4a0a0047304502203a9315fa142795c866a2ec694a61d986ea9dff974fe4ce5564da927bde2c8290022100b637d1cd332d8d3b696d0018ea627027ff4153ab4be82efe43a7d5c283756d53:922c64590222798bb761d5b6d8e72950