id: CVE-2023-6114

info:
  name: Duplicator < 1.5.7.1; Duplicator Pro < 4.5.14.2 - Unauthenticated Sensitive Data Exposure
  author: DhiyaneshDk
  severity: high
  description: |
    The Duplicator WordPress plugin before 1.5.7.1, Duplicator Pro WordPress plugin before 4.5.14.2 does not disallow listing the `backups-dup-lite/tmp` directory (or the `backups-dup-pro/tmp` directory in the Pro version), which temporarily stores files containing sensitive data. When directory listing is enabled in the web server, this allows unauthenticated attackers to discover and access these sensitive files, which include a full database dump and a zip archive of the site.
  impact: |
    Unauthenticated attackers can exploit directory listing to access temporary backup files containing full database dumps and site archives with sensitive data from WordPress Duplicator installations.
  remediation: Duplicator Fixed in 1.5.7.1,Duplicator-Pro Fixed in 4.5.14.2.
  reference:
    - https://drive.google.com/file/d/1mpapFCqfZLv__EAM7uivrrl2h55rpi1V/view?usp=sharing
    - https://wpscan.com/vulnerability/5c5d41b9-1463-4a9b-862f-e9ee600ef8e1
    - https://nvd.nist.gov/vuln/detail/CVE-2023-6114
    - https://wpscan.com/plugin/duplicator/
  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-2023-6114
    cwe-id: CWE-552
    epss-score: 0.61257
    epss-percentile: 0.98339
    cpe: cpe:2.3:a:awesomemotive:duplicator:*:*:*:*:-:wordpress:*:*
  metadata:
    max-request: 2
    vendor: awesomemotive
    product: duplicator
    framework: wordpress
    google-query: inurl:"/wp-content/plugins/duplicator"
  tags: cve,cve2023,duplicator,duplicator-pro,lfi,wpscan,wordpress,wp-plugin,wp,awesomemotive,vkev,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/wp-content/backups-dup-lite/tmp/"
      - "{{BaseURL}}/wp-content/backups-dup-pro/tmp/"

    stop-at-first-match: true
    matchers:
      - type: dsl
        dsl:
          - "status_code == 200"
          - "contains(body, '/tmp') && contains(body, '<title>Index of')"
        condition: and
# digest: 490a00463044022065f582f501d1f228b489ca49d84f2596de9ea7747cd0bfd8fef088a59ef77a4002202131540959cd2e1e0d412381dbb540db928085411c15c9fbc5968cfd73c37bf0:922c64590222798bb761d5b6d8e72950