Description
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.
Problem types
CWE-502 Deserialization of Untrusted Data
Product status
Any version
Timeline
| 2026-05-22: | Vendor Notified |
| 2026-06-05: | Disclosed |
Credits
Osvaldo Noe Gonzalez Del Rio
References
www.wordfence.com/...-ef86-49bc-b72c-23e43568fef6?source=cve
plugins.trac.wordpress.org/.../Formatter/IdsToCollection.php
plugins.trac.wordpress.org/.../src/Support/ClosureStream.php
plugins.trac.wordpress.org/.../Formatter/IdsToCollection.php
plugins.trac.wordpress.org/...unk/classes/Formatter/Meta.php
plugins.trac.wordpress.org/....16/classes/Formatter/Meta.php
plugins.trac.wordpress.org/...ure/src/Serializers/Native.php
plugins.trac.wordpress.org/...ure/src/Serializers/Native.php
plugins.trac.wordpress.org/.../src/Support/ClosureStream.php
plugins.trac.wordpress.org/...-columns&sfp_email=&sfph_mail=