VYPR
Unrated severityNVD Advisory· Published Nov 15, 2024· Updated Apr 8, 2026

WP Activity Log <= 5.2.1 - Unauthenticated Stored Cross-Site Scripting via User_id Parameter

CVE-2024-10793

Description

The WP Activity Log plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the user_id parameter in all versions up to, and including, 5.2.1 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever an administrative user accesses an injected page.

AI Insight

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

Affected products

3

Patches

Vulnerability mechanics

Root cause

"Missing input sanitization and output escaping on cron event hook names and arguments stored in alert data allows stored cross-site scripting."

Attack vector

An unauthenticated attacker can inject arbitrary JavaScript by crafting a cron event whose `args` or `hook` property contains malicious script payloads. When the WP Activity Log plugin logs the cron event creation, execution, or deletion, the unsanitized payload is stored in the alert data. The payload executes in the browser of any administrative user who views the affected activity log page. No authentication is required because WordPress cron events can be triggered externally via `wp-cron.php` and the plugin logs them automatically [CWE-79].

Affected code

The vulnerability resides in the WP Activity Log plugin's `wp-system-sensor.php` file, specifically in the `created_cron_job`, `removed_cron_job`, and `attach_cron_actions` methods where the `$cron->args` and `$cron->hook` values are passed directly into alert data arrays without sanitization or escaping. These unsanitized values are later rendered in the WordPress admin activity log pages, enabling stored XSS.

What the fix does

The patch does not appear in the provided bundle. Based on the advisory, the fix must involve adding proper input sanitization and output escaping to the cron-related alert data fields (`arguments`, `task_name`, etc.) before they are stored or rendered. Without escaping, any attacker-controlled value in a cron event's hook name or arguments becomes executable script content in the admin log viewer.

Preconditions

  • configThe WP Activity Log plugin must be installed and active, logging cron events to the admin activity log.
  • inputAn attacker must be able to trigger a cron event with a crafted hook name or arguments (e.g., via direct wp-cron.php access or by scheduling a malicious event).
  • authAn administrative user must view the activity log page where the malicious cron event entry is displayed.

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

References

2

News mentions

0

No linked articles in our index yet.