CVE-2026-7638 json
App Builder <= 5.5.10 - Insecure Direct Object Reference to Authenticated (Subscriber+) Arbitrary User Avatar Modification via 'user_id' Parameter
published 2026-05-02 6 mo ago modified 2026-06-17 4 mo ago also EUVD-2026-26732
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 23%
- public exploits
- 0
- none known
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.
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 6 mo ago
Exploit prediction
0.31% chance of exploitation in the next 30 days, higher than 23% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
Affected products
- appcheap App Builder – Create Native Android & iOS Apps On The Flight
Classification
- Weakness
-
- CWE-639 Authorization Bypass Through User-Controlled Key
- Technology feeds
References
- wordfence.com /threat-intel/vulnerabilities/id/2d532ffc-c6f1-41e3-9a59-0706802ab8e2?source=cve
- plugins.trac.wordpress.org /browser/app-builder/trunk/includes/Di/Service/Auth/UploadAvatar.php#L80
- plugins.trac.wordpress.org /browser/app-builder/tags/5.6.0/includes/Di/Service/Auth/UploadAvatar.php#L80
- plugins.trac.wordpress.org /browser/app-builder/trunk/includes/Di/Service/Auth/UploadAvatar.php#L161
- plugins.trac.wordpress.org /browser/app-builder/tags/5.6.0/includes/Di/Service/Auth/UploadAvatar.php#L161
- plugins.trac.wordpress.org /browser/app-builder/trunk/includes/Traits/Permission.php#L33
- plugins.trac.wordpress.org /browser/app-builder/tags/5.6.0/includes/Traits/Permission.php#L33
- plugins.trac.wordpress.org /browser/app-builder/tags/5.5.10/includes/Di/Service/Auth/UploadAvatar.php#L80
- plugins.trac.wordpress.org /browser/app-builder/tags/5.5.10/includes/Di/Service/Auth/UploadAvatar.php#L161
- plugins.trac.wordpress.org /browser/app-builder/tags/5.5.10/includes/Traits/Permission.php#L33
Sources
- CVE List CVE-2026-7638
- NVD CVE-2026-7638
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.