PatchSiren cyber security CVE debrief
CVE-2026-7459 eskapism CVE debrief
An authenticated account-takeover vulnerability exists in the Simple History WordPress plugin (versions ≤ 5.26.0). The plugin's experimental REST API event-reaction endpoints (`react_to_event` / `unreact_to_event`) use `get_items_permissions_check()` as their permission callback, which only confirms the caller is logged in and does not apply the per-logger capability checks enforced by `Log_Query`. A Subscriber-level attacker can POST to `/wp-json/simple-history/v1/events/<id>/react` with `_fields=context` to read the full context of any Simple History event. Because `SimpleUserLogger` records the complete password-reset email body—including the reset URL with key—an attacker can trigger an administrator password reset, brute-force recent event IDs through the reaction endpoint, extract the reset key from `context.message`, and complete the reset to seize the administrator account. Exploitation is contingent on the non-default experimental-features option (`simple_history_experimental_features_enabled`) having been enabled by an administrator. The vulnerability was published on 2026-05-30 and last modified on 2026-06-01. A changeset (3524112) in the WordPress plugin repository indicates a fix was committed to trunk.
- Vendor
- eskapism
- Product
- Simple History – Track, Log, and Audit WordPress Changes
- CVSS
- HIGH 7.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-05-30
- Original CVE updated
- 2026-07-22
- Advisory published
- 2026-05-30
- Advisory updated
- 2026-07-22
Who should care
WordPress site administrators using the Simple History plugin, especially those who have enabled experimental features; security operations teams monitoring for authenticated privilege-escalation activity; and WordPress hosting providers managing plugin update cadences.
Technical summary
The Simple History plugin registers `react_to_event()` and `unreact_to_event()` REST endpoints with `get_items_permissions_check()` as the `permission_callback`. This callback validates authentication but omits the logger-specific capability checks that `Log_Query` normally enforces. An authenticated Subscriber can therefore retrieve the `context` field of arbitrary events, including `SimpleUserLogger` events that store the full password-reset email body. By triggering an administrator password reset and reading the resulting event context, the attacker obtains the reset key and completes account takeover. The attack requires the non-default `simple_history_experimental_features_enabled` option to be active.
Defensive priority
HIGH
Recommended defensive actions
- Upgrade Simple History to a version newer than 5.26.0 (a fix changeset is present in trunk).
- If immediate patching is not possible, disable the experimental features option (`simple_history_experimental_features_enabled`) to prevent exposure of the affected REST endpoints.
- Review Simple History event logs for suspicious `_fields=context` queries to the `/wp-json/simple-history/v1/events/<id>/react` endpoint by low-privilege users.
- Audit administrator accounts for unauthorized password resets or unexpected login activity following the disclosure date.
- Restrict REST API access for untrusted or low-privilege users via additional capability checks or network-level controls if the plugin must remain unpatched.
Evidence notes
The vulnerability description and source references identify the affected endpoints and permission-callback flaw. Source references point to the 5.26.0 tag and trunk versions of `class-event.php` and `class-wp-rest-events-controller.php`, including line-specific locations for the reaction endpoints and permission checks. A changeset reference (3524112) documents the trunk fix. The Wordfence advisory link provides the coordinated disclosure source. The CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H) yields a base score of 7.5 (HIGH). CWE-640 (Weak Password Recovery Mechanism for Forgotten Password) is cited as the weakness classification.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-7459 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-7459
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-7459 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-7459
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://plugins.trac.wordpress.org/browser/simple-history/tags/5.26.0/inc/class-event.php
-
Source reference
Unverified legacy reference
URL: https://plugins.trac.wordpress.org/browser/simple-history/tags/5.26.0/inc/class-wp-rest-events-controller.php
-
Source reference
Unverified legacy reference
URL: https://plugins.trac.wordpress.org/browser/simple-history/tags/5.26.0/inc/class-wp-rest-events-controller.php
-
Source reference
Unverified legacy reference
URL: https://plugins.trac.wordpress.org/browser/simple-history/tags/5.26.0/inc/class-wp-rest-events-controller.php
-
Source reference
Unverified legacy reference
URL: https://plugins.trac.wordpress.org/browser/simple-history/tags/5.26.0/inc/class-wp-rest-events-controller.php
-
Source reference
Unverified legacy reference
URL: https://plugins.trac.wordpress.org/browser/simple-history/trunk/inc/class-event.php
-
Source reference
Unverified legacy reference
URL: https://plugins.trac.wordpress.org/browser/simple-history/trunk/inc/class-wp-rest-events-controller.php
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.