App Builder <= 5.5.10 - Insecure Direct Object Reference to Authenticated (Subscriber+) Arbitrary User Avatar Modification via 'user_id' Parameter
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: yes
- Technical impact: partial
Summary
The App Builder – Create Native Android & iOS Apps On The Flight plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to and including 5.6.0. This is due to missing authorization validation in the `upload_avatar()` function, which accepts an attacker-controlled `user_id` parameter from the POST request body and uses it to update user meta without verifying that the authenticated requester owns or has permission to modify the target account. This makes it possible for authenticated attackers, with Subscriber-level access and above, to overwrite the profile avatar of any arbitrary user on the site, including administrators, by supplying a target `user_id` in the request body to the `/wp-json/app-builder/v1/upload-avatar` endpoint.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- appcheap App Builder – Create Native Android & iOS Apps On The Flight
through 5.6.0
References 10
plugins.trac.wordpress.org
- browser/app-builder/trunk/includes/Di/Service/Auth/UploadAvatar.php#L80
- browser/app-builder/tags/5.6.0/includes/Di/Service/Auth/UploadAvatar.php#L80
- browser/app-builder/trunk/includes/Di/Service/Auth/UploadAvatar.php#L161
- browser/app-builder/tags/5.6.0/includes/Di/Service/Auth/UploadAvatar.php#L161
- browser/app-builder/trunk/includes/Traits/Permission.php#L33
- browser/app-builder/tags/5.6.0/includes/Traits/Permission.php#L33
- browser/app-builder/tags/5.5.10/includes/Di/Service/Auth/UploadAvatar.php#L80
- browser/app-builder/tags/5.5.10/includes/Di/Service/Auth/UploadAvatar.php#L161
- browser/app-builder/tags/5.5.10/includes/Traits/Permission.php#L33