WordPress Plugin Vulnerabilities

Advanced Custom Fields < 6.1.0 - Contributor+ PHP Object Injection

Description

The plugin unserializes user controllable data, which could allow users with a role of Contributor and above to perform PHP Object Injection when a suitable gadget is present.

Proof of Concept

Setup (As admin)

- To simulate a gadget chain, put the following code in a plugin:

class Evil {
  public function __wakeup() : void {
    die("Arbitrary deserialization");
  }
}

- Activate the plugin, access the Custom Fields Menu and create a simple Field Group

Attack (as a contributor)
- Create a new post with dummy content, fill in the plugin's text field at the bottom of the screen with O:4:"Evil":0:{}, then save the draft
- Reload the page and click "x revisions", this will trigger the PHP Object Injection

Affects Plugins

References

Classification

Type
OBJECT INJECTION
CWE

Miscellaneous

Original Researcher
Nguyen Huu Do
Submitter
Nguyen Huu Do
Verified
Yes

Timeline

Publicly Published
2023-04-10 (about 1 years ago)
Added
2023-04-10 (about 1 years ago)
Last Updated
2023-04-12 (about 1 years ago)

Other