VYPR
Unrated severityNVD Advisory· Published Jun 18, 2026

E2Pdf <= 1.32.26 - Missing Authorization to Authenticated (Custom+) Arbitrary Option Update / Privilege Escalation via 'screen_action' Parameter

CVE-2026-12407

Description

The E2Pdf – Export Pdf Tool for WordPress plugin for WordPress is vulnerable to Missing Authorization in versions up to, and including, 1.32.26. This is due to the screen_action() function lacking a dedicated capability check and nonce verification — when invoked via the ?action=screen routing path the controller's index_action() nonce gate is bypassed entirely — while reading an attacker-controlled option name and value from $_POST['wp_screen_options'] and passing them directly to update_option() with no allowlist, relying solely on the page-level e2pdf_templates capability which the plugin's own Permissions UI allows administrators to grant to any role including Subscriber, Contributor, Author, or Editor. This makes it possible for authenticated attackers, with a custom role that has been granted the e2pdf_templates capability, to overwrite arbitrary WordPress options such as default_role and thereby escalate their privileges to administrator.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Affected products

1

Patches

Vulnerability mechanics

Root cause

"Missing authorization check in screen_action() allows authenticated users with the e2pdf_templates capability to overwrite arbitrary WordPress options via update_option()."

Attack vector

An authenticated attacker who has been granted the `e2pdf_templates` capability (which the plugin's Permissions UI allows administrators to assign to any role, including Subscriber) can send a POST request to `admin.php?page=e2pdf-templates&action=screen` with a valid `screenoptionnonce` and a crafted `wp_screen_options` payload. Because the `screen_action()` function is invoked without a dedicated capability check or nonce verification tied to the `e2pdf_templates` action, the attacker can overwrite arbitrary WordPress options such as `default_role` to `administrator`, thereby escalating privileges. [CWE-862] [ref_id=1]

Affected code

The vulnerability resides in the `e2pdf-templates.php` controller, specifically in the `index_action()` method's nonce handling and the `screen_action()` function. The `index_action()` method checks for `screenoptionnonce` before the `e2pdf_templates` nonce, and when `screenoptionnonce` is present it calls `screen_action()` directly without verifying the `e2pdf_templates` capability or nonce. The `screen_action()` function then reads attacker-controlled option name and value from `$_POST['wp_screen_options']` and passes them to `update_option()` with no allowlist.

What the fix does

The advisory does not include a published patch. The recommended fix would be to add a dedicated capability check (e.g., `current_user_can('manage_options')`) inside `screen_action()` or to ensure that the `index_action()` method validates the `e2pdf_templates` nonce and capability before routing to `screen_action()`. Additionally, the option names passed to `update_option()` should be allowlisted to prevent arbitrary option overwrites.

Preconditions

  • authThe attacker must be authenticated with a role that has been granted the `e2pdf_templates` capability.
  • inputThe attacker must know or obtain a valid `screenoptionnonce` (screen-options-nonce).
  • configThe plugin's Permissions UI must have been used to assign the `e2pdf_templates` capability to a low-privileged role.

Generated on Jun 18, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

10

News mentions

0

No linked articles in our index yet.