Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Primary rating from Vendor (Wordfence) · only source for this CVE.
CVSS VectorVendor: Wordfence
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
2DescriptionCVE.org
The Blocksy theme for WordPress is vulnerable to PHP Object Injection leading to Remote Code Execution via the 'blocksy_meta' REST API field and the V200 database migration in versions up to and including 2.1.35. This is due to insufficient input sanitization in the blocksy_sanitize_post_meta_options() function, which only blocks values containing '<' or '>' and does not prevent serialized PHP object strings from being stored in post meta, combined with the SearchReplacer::run_recursively() function unconditionally deserializing all string values via @unserialize() during migration without restricting allowed classes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject a serialized Blocksy\RaiiPattern object into post meta that, when the V200 migration runs on an upgraded site, is deserialized and triggers RaiiPattern::__destruct(), which executes arbitrary PHP callables via call_user_func().
Articles & Coverage 2
AnalysisAI
Authenticated PHP Object Injection in the Blocksy WordPress theme (versions ≤ 2.1.35) allows contributor-level users to escalate to remote code execution by storing a malicious serialized object in post meta that is later deserialized during the V200 database migration. Wordfence-reported flaw chains weak input sanitization in blocksy_sanitize_post_meta_options() with an unconditional @unserialize() call in SearchReplacer::run_recursively(), triggering RaiiPattern::__destruct() to invoke arbitrary callables via call_user_func(). No public exploit identified at time of analysis, but the low-privilege requirement and high impact make this a meaningful priority for sites running upgraded Blocksy installations.
Technical ContextAI
Blocksy is a popular WordPress theme by CreativeThemesHQ (CPE cpe:2.3:a:creativethemeshq:blocksy). The root cause is CWE-502 (Deserialization of Untrusted Data). Two code paths combine to create the vulnerability: blocksy_sanitize_post_meta_options() in admin/helpers/meta-boxes.php performs only superficial sanitization that rejects values containing '<' or '>' but permits PHP serialized object strings (which use characters like 'O:', ':', '{', '}', '"') to be persisted into the 'blocksy_meta' REST API field. Separately, the database migration utility SearchReplacer::run_recursively() in inc/classes/db-versioning/utils/db-search-replacer.php calls @unserialize() on stored string values without an allowed_classes restriction, instantiating attacker-controlled objects. The Blocksy\RaiiPattern class (inc/classes/raii.php) defines a __destruct() magic method that invokes call_user_func() on an instance-controlled callable, providing a classic POP gadget for arbitrary PHP execution within the WordPress process context.
RemediationAI
Upgrade the Blocksy theme to version 2.1.41 or later, where the fixed code paths (db-search-replacer.php, meta-boxes.php, validator.php, and raii.php) are visible at https://themes.trac.wordpress.org/browser/blocksy/2.1.41/. Until the upgrade can be applied, restrict who can author content by auditing all accounts at contributor level and above, disabling new-user self-registration (Settings → General → 'Anyone can register'), and enforcing strong passwords / MFA for editorial accounts - this directly raises the bar for the PR:L precondition, with the trade-off of inconveniencing legitimate contributors. As a stop-gap, defer running the V200 database migration on upgraded sites until the patched theme version is in place, since the deserialization sink only fires during migration; note this means delaying the upgrade itself, which leaves the storage-side sanitization weakness in place. Monitor wp_postmeta for suspicious 'blocksy_meta' values containing serialized object signatures (e.g. 'O:' followed by class names) as a detection control.
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
NetAlertX (formerly PiAlert) versions 23.01.14 through 24.x before 24.10.12 allow unauthenticated command injection thro
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
Same weakness CWE-502 – Deserialization of Untrusted Data
View allSame technique Deserialization
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-35379
GHSA-r622-c48h-h6qq