Skip to main content

Admin Columns CVE-2026-7654

| EUVDEUVD-2026-34922 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-06-05 Wordfence GHSA-h6x4-229g-5f43
8.8
CVSS 3.1 · Vendor: Wordfence
Share

Severity by source

Vendor (Wordfence) PRIMARY
8.8 HIGH
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
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Analysis Generated
Jun 05, 2026 - 23:15 vuln.today
CVE Published
Jun 05, 2026 - 22:28 nvd
HIGH 8.8

DescriptionCVE.org

The Admin Columns plugin for WordPress is vulnerable to PHP Object Injection leading to Remote Code Execution in versions up to and including 7.0.18. This is due to the use of unserialize() without an allowed_classes restriction in the IdsToCollection::get_ids_from_string() function, which processes attacker-controlled post meta values without proper validation. This makes it possible for authenticated attackers with Contributor-level access and above to inject a serialized PHP object into a post's custom meta field and trigger arbitrary code execution by exploiting a bundled POP gadget chain, resulting in remote code execution as the web server user.

AnalysisAI

Authenticated remote code execution in the Admin Columns WordPress plugin (versions through 7.0.18) allows Contributor-level users to inject serialized PHP objects via post meta and trigger a bundled POP gadget chain through the Laravel SerializableClosure component. Reported by Wordfence with CVSS 8.8, no public exploit identified at time of analysis, though the low privilege barrier and bundled gadget chain make weaponization straightforward for any researcher with plugin access.

Technical ContextAI

The root cause is CWE-502 (Deserialization of Untrusted Data) in the IdsToCollection::get_ids_from_string() function, which invokes PHP's unserialize() on attacker-controlled post meta values without specifying the allowed_classes option - meaning any class loaded in the WordPress runtime can be instantiated during deserialization. The plugin bundles Laravel's serializable-closure library (notably the Native serializer and ClosureStream support class), which provides a ready-made Property-Oriented Programming (POP) gadget chain: a deserialized SerializableClosure can register a stream wrapper that ultimately executes PHP code via include/eval semantics. The affected CPE codepress:admin_columns covers all versions up to and including 7.0.18, and the vulnerable code paths appear in classes/Formatter/IdsToCollection.php and classes/Formatter/Meta.php as referenced in the WordPress plugin trac.

RemediationAI

Upstream fix available (changeset 3553297 in the codepress-admin-columns repository); a released patched version beyond 7.0.18 is not independently confirmed from the provided data, so administrators should upgrade to the latest Admin Columns release published after the changeset at https://plugins.trac.wordpress.org/changeset?reponame=&old=3553297%40codepress-admin-columns&new=3553297%40codepress-admin-columns and verify the IdsToCollection::get_ids_from_string() function now passes allowed_classes=>false to unserialize(). Until upgraded, compensating controls include revoking Contributor and higher roles from untrusted users, restricting post meta write access via a mu-plugin that filters update_post_metadata for keys consumed by Admin Columns formatters (trade-off: may break columns that legitimately store serialized data), and deploying a WAF rule that blocks request bodies containing PHP serialized object markers (O:, C:, or the SerializableClosure class name) in wp-admin post submissions (trade-off: false positives on plugins that legitimately POST serialized data). Consult the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/051a3967-ef86-49bc-b72c-23e43568fef6?source=cve for additional vendor guidance.

More in PHP

View all
CVE-2012-1823 CRITICAL POC
9.8 May 11

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

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

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

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

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

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-46506 CRITICAL POC
10.0 May 13

NetAlertX (formerly PiAlert) versions 23.01.14 through 24.x before 24.10.12 allow unauthenticated command injection thro

Share

CVE-2026-7654 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy