Description
The coreActivity: Activity Logging for WordPress plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 3.0. This is due to the plugin failing to validate or strip PHP serialization syntax from the User-Agent HTTP header before storing it in the logmeta table, and subsequently calling `maybe_unserialize()` on every retrieved `meta_value` in `query_metas()` without verifying the data was originally serialized by the application. This makes it possible for unauthenticated attackers to inject a crafted PHP serialized payload via the User-Agent header during any logged event (such as a failed login attempt), which, when an administrator views the Logs page, is deserialized and passed to `DeviceDetector::setUserAgent()`, triggering a Fatal TypeError that creates a persistent Denial of Service condition blocking administrator access to the Logs page entirely.
Problem types
CWE-502 Deserialization of Untrusted Data
Product status
Any version
Timeline
| 2026-05-02: | Vendor Notified |
| 2026-05-12: | Disclosed |
Credits
Duong Quang Hao
Thai Son Dinh
References
www.wordfence.com/...-6dd9-4367-90a9-a10ad491357d?source=cve
plugins.trac.wordpress.org/...ress/wordpress/admin/Table.php
plugins.trac.wordpress.org/...ress/wordpress/admin/Table.php
plugins.trac.wordpress.org/...tivity/trunk/core/log/Core.php
plugins.trac.wordpress.org/...ity/tags/3.0/core/log/Core.php
plugins.trac.wordpress.org/...4press/core/plugins/DBLite.php
plugins.trac.wordpress.org/...4press/core/plugins/DBLite.php
plugins.trac.wordpress.org/...vity/trunk/core/table/Logs.php
plugins.trac.wordpress.org/...y/tags/3.0/core/table/Logs.php
plugins.trac.wordpress.org/...vity/trunk/core/log/Device.php
plugins.trac.wordpress.org/...y/tags/3.0/core/log/Device.php
github.com/...anges/1f09331d66de7cf4bba9b6e396b0d4e7597fcde2