CVE-2026-92807 Details
Description
The Save as PDF Plugin by PDFCrowd plugin for WordPress is vulnerable to Arbitrary Function Invocation in all versions up to, and including, 4.6.1 via the `pdf_created_callback` shortcode attribute. The `eval_shortcode()` function copies any non-`button_`/non-`email_` shortcode attribute verbatim into a custom options array without sanitization, allowlist enforcement, or capability checks, and `create_button()` AES-encrypts that array — including the attacker-supplied callback value — and embeds the resulting blob in the rendered button HTML; when the blob is later POSTed to the unauthenticated `wp_ajax_nopriv_save_as_pdf_pdfcrowd` endpoint, `save_as_pdf_pdfcrowd()` decrypts it and invokes `$options['pdf_created_callback']` as a PHP callable at line 1722 with no `is_callable()` guard, no allowlist, and no capability check. This makes it possible for authenticated attackers, with Contributor-level access and above, to invoke arbitrary PHP functions or static class methods with plugin option data as the sole argument, enabling disclosure of the site's stored PDFCrowd API key and username or further server-side abuse. Note that the encryption boundary does not mitigate this vector because the server itself encrypts the attacker-chosen callback during shortcode rendering, supplying any authenticated Contributor with a cryptographically valid blob that any unauthenticated visitor can subsequently replay to trigger invocation.
A vulnerability allowing arbitrary function invocation has been identified in the Save as PDF Plugin by PDFCrowd for WordPress, affecting all versions through 4.6.1. The issue arises from the 'pdf_created_callback' shortcode attribute, which is processed by the 'eval_shortcode()' function. This function transfers any non-'button_' or non-'email_' shortcode attribute directly into a custom options array without proper sanitization, allowlist enforcement, or capability checks. The 'create_button()' function then AES-encrypts this array, including the attacker-supplied callback, and embeds the encrypted data in the button HTML. When this data is POSTed to the 'wp_ajax_nopriv_save_as_pdf_pdfcrowd' endpoint, the 'save_as_pdf_pdfcrowd()' function decrypts it and executes the callback as a PHP callable, bypassing any checks. This vulnerability allows authenticated attackers with Contributor-level access or higher to invoke arbitrary PHP functions or static class methods, potentially leading to unauthorized access to sensitive information such as the site's PDFCrowd API key and username, or causing further server-side abuse.
Users can update to Save as PDF Plugin by PDFCrowd version 4.6.2 or later, where this vulnerability has been patched.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Sep 19, 2026CISA-ADP
Assessed Sep 19, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-94 | Improper Control of Generation of Code ('Code Injection') | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| PDFCrowd Save as PDF | <= 4.6.1 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Sep 19, 2026 | CVE Modified | CISA-ADP |
| Sep 19, 2026 | New CVE Received | [email protected] |
Volerion