{"id":"CVE-2026-8365","state":"PUBLISHED","title":"Blocksy <= 2.1.41 - Authenticated (Contributor+) PHP Object Injection via Deserialization of Untrusted Data via 'blocksy_meta' REST API Field","description":"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().","publishedAt":"2026-06-09T08:29:40.638Z","updatedAt":"2026-06-09T12:56:15.813Z","severity":{"score":8.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Wordfence"},"assigner":"Wordfence","products":["creativethemeshq Blocksy"],"affected":[{"vendor":"creativethemeshq","product":"Blocksy","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"2.1.41","versionType":"semver"}]}],"references":["https://www.wordfence.com/threat-intel/vulnerabilities/id/fd216743-ce8d-4632-9fd1-d63502c2dfcd?source=cve","https://themes.trac.wordpress.org/browser/blocksy/trunk/inc/classes/db-versioning/utils/db-search-replacer.php#L98","https://themes.trac.wordpress.org/browser/blocksy/2.1.41/inc/classes/db-versioning/utils/db-search-replacer.php#L98","https://themes.trac.wordpress.org/browser/blocksy/trunk/admin/helpers/meta-boxes.php#L104","https://themes.trac.wordpress.org/browser/blocksy/2.1.41/admin/helpers/meta-boxes.php#L104","https://themes.trac.wordpress.org/browser/blocksy/trunk/admin/helpers/validator.php#L75","https://themes.trac.wordpress.org/browser/blocksy/2.1.41/admin/helpers/validator.php#L75","https://themes.trac.wordpress.org/browser/blocksy/trunk/inc/classes/raii.php#L12","https://themes.trac.wordpress.org/browser/blocksy/2.1.41/inc/classes/raii.php#L12","https://themes.trac.wordpress.org/browser/blocksy/2.1.35/inc/classes/db-versioning/utils/db-search-replacer.php#L98","https://themes.trac.wordpress.org/browser/blocksy/2.1.35/admin/helpers/meta-boxes.php#L104","https://themes.trac.wordpress.org/browser/blocksy/2.1.35/admin/helpers/validator.php#L75","https://themes.trac.wordpress.org/browser/blocksy/2.1.35/inc/classes/raii.php#L12"],"weaknesses":["CWE-502"],"ingestedAt":"2026-10-29T20:13:26.108Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/8xxx/CVE-2026-8365.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-8365","state":"PUBLISHED","datePublished":"2026-06-09T08:29:40.638Z","dateUpdated":"2026-06-09T12:56:15.813Z","assignerShortName":"Wordfence","assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","dateReserved":"2026-05-11T19:25:24.123Z"},"containers":{"cna":{"title":"Blocksy <= 2.1.41 - Authenticated (Contributor+) PHP Object Injection via Deserialization of Untrusted Data via 'blocksy_meta' REST API Field","descriptions":[{"lang":"en","value":"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()."}],"affected":[{"vendor":"creativethemeshq","product":"Blocksy","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"2.1.41","versionType":"semver"}]}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/fd216743-ce8d-4632-9fd1-d63502c2dfcd?source=cve"},{"url":"https://themes.trac.wordpress.org/browser/blocksy/trunk/inc/classes/db-versioning/utils/db-search-replacer.php#L98"},{"url":"https://themes.trac.wordpress.org/browser/blocksy/2.1.41/inc/classes/db-versioning/utils/db-search-replacer.php#L98"},{"url":"https://themes.trac.wordpress.org/browser/blocksy/trunk/admin/helpers/meta-boxes.php#L104"},{"url":"https://themes.trac.wordpress.org/browser/blocksy/2.1.41/admin/helpers/meta-boxes.php#L104"},{"url":"https://themes.trac.wordpress.org/browser/blocksy/trunk/admin/helpers/validator.php#L75"},{"url":"https://themes.trac.wordpress.org/browser/blocksy/2.1.41/admin/helpers/validator.php#L75"},{"url":"https://themes.trac.wordpress.org/browser/blocksy/trunk/inc/classes/raii.php#L12"},{"url":"https://themes.trac.wordpress.org/browser/blocksy/2.1.41/inc/classes/raii.php#L12"},{"url":"https://themes.trac.wordpress.org/browser/blocksy/2.1.35/inc/classes/db-versioning/utils/db-search-replacer.php#L98"},{"url":"https://themes.trac.wordpress.org/browser/blocksy/2.1.35/admin/helpers/meta-boxes.php#L104"},{"url":"https://themes.trac.wordpress.org/browser/blocksy/2.1.35/admin/helpers/validator.php#L75"},{"url":"https://themes.trac.wordpress.org/browser/blocksy/2.1.35/inc/classes/raii.php#L12"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-502","lang":"en","description":"CWE-502 Deserialization of Untrusted Data","type":"CWE"}]}],"providerMetadata":{"shortName":"Wordfence","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","dateUpdated":"2026-06-09T08:29:40.638Z"},"credits":[{"lang":"en","type":"finder","value":"Quốc Huy"}],"timeline":[{"time":"2026-05-12T06:30:57.000Z","lang":"en","value":"Vendor Notified"},{"time":"2026-06-08T20:11:29.000Z","lang":"en","value":"Disclosed"}]},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-06-09T12:55:53.628058Z","id":"CVE-2026-8365","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-06-09T12:56:15.813Z"}}]}}}