Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Subscriber authentication required (PR:L), network-accessible via default Heartbeat API (AV:N), read-only audit log disclosure with no integrity or availability impact (C:H, I:N, A:N).
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
The Stream plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 4.2.0. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for authenticated attackers, with subscriber-level access and above, to access all Stream activity records via the Heartbeat API.
AnalysisAI
Authorization bypass in the Stream - Activity Log & Audit Trail WordPress plugin (versions through 4.2.0) exposes the full site audit trail to any authenticated user holding a subscriber-level account or higher. The flaw resides in the plugin's Heartbeat API live-update handler, which returns activity records without verifying the requesting user holds the privileges required to view them (CWE-862). No public exploit or CISA KEV listing exists at time of analysis, but the low exploitation bar - any registered user account suffices - makes this a credible insider or low-effort attacker risk on sites with open registration.
Technical ContextAI
The Stream plugin (CPE: cpe:2.3:a:xwp:stream_-_activity_log_&_audit_trail:*:*:*:*:*:*:*:*) by XWP is a widely used WordPress activity logging and audit trail solution. WordPress's built-in Heartbeat API is an AJAX-based polling mechanism that plugins use to push real-time data from the server to the browser. The vulnerable code path is in class-live-update.php (visible at https://plugins.trac.wordpress.org/browser/stream/tags/4.2.1/classes/class-live-update.php#L186), where the plugin registers a Heartbeat API callback that returns Stream activity records in response to any authenticated Heartbeat request. The root cause is CWE-862 (Missing Authorization): the callback does not call current_user_can() or an equivalent capability check before serving log data, meaning the WordPress role/capability system is entirely bypassed for this API surface.
RemediationAI
Upgrade the Stream plugin to version 4.2.1 or later immediately; this version applies the missing authorization check in the Heartbeat API handler (class-live-update.php) and is available through the standard WordPress plugin repository update mechanism. For sites unable to patch immediately, disabling or deactivating the Stream plugin entirely will eliminate the attack surface at the cost of losing real-time activity log visibility. Alternatively, administrators can disable open user registration (Settings → General → uncheck 'Anyone can register') to deny external attackers the ability to obtain subscriber accounts, though this does not protect against compromised or malicious internal accounts. Restricting access to the WordPress admin-ajax.php endpoint via a web application firewall for unauthenticated or low-privilege sessions is an additional compensating control but carries the risk of breaking legitimate Heartbeat-dependent functionality. The Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/b7c7e45a-581e-4cf0-83ac-cbca816701f1 provides further remediation context.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-54366
GHSA-vq9h-6p44-rphw