ZeroHour

CVE-2026-18983

large

Stored XSS via Unsafe File Upload in One User Avatar WordPress Plugin

CVSS 3.1
7.5 high
EPSS
<1%p41
Published
()
Modified
AI analysis

CVE-2026-18983 is an unrestricted file upload flaw (classified as stored cross-site scripting, CWE-434) in the One User Avatar | User Profile Picture plugin for WordPress, affecting all versions up to and including 2.5.4. The wpua_action_process_option_update function calls wp_handle_upload() without a MIME allow-list, then validates the file using the attacker-controlled client-supplied Content-Type header instead of a server-derived type, and files that fail the check are not cleaned up, so an authenticated attacker with subscriber-level access or above can upload files that may be executable (per the advisory, PHP and SVG uploads are rejected but .dxfp files are accepted). Exploitation additionally requires that a site administrator has granted subscribers permission to upload avatars; a successful attacker can achieve stored cross-site scripting and potentially remote code execution by landing an executable file on the server (CVSS 3.1: 7.5 high). Any WordPress site running the plugin at version 2.5.4 or earlier, with subscriber avatar uploads enabled, is affected. There is currently no evidence of exploitation in the wild and no known public proof-of-concept, with EPSS estimating only about a 0.5% probability of exploitation in the next 30 days.

What to do: Update the One User Avatar | User Profile Picture plugin to the first patched release (any version newer than 2.5.4) as soon as it is available. Until then, revoke subscribers' avatar-upload permission in the plugin settings and restrict uploads to trusted roles. Also review the WordPress uploads directory for unexpected executable or .dxfp files uploaded by low-privileged accounts and remove anything suspicious.

Affected
One User Avatar User Profile Picture (One User Avatar) WordPress pluginAll versions up to and including 2.5.4
Estimated exposure
large≈30,000 WordPress sites (plugin reports on the order of 30k active installs), with only the subset that enables subscriber avatar uploads practically… — Based on the plugin's publicly listed active-install count on the WordPress.org directory, which is in the tens of thousands, though exploitation requires the non-default configuration where subscribers are allowed to upload avatars.

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

The One User Avatar | User Profile Picture plugin for WordPress is vulnerable to Stored Cross-Site Scripting in all versions up to, and including, 2.5.4 via the wpua_action_process_option_update function. This is due to insufficient file type validation in wp_handle_upload() called without a MIME allow-list, with post-write validation relying on the attacker-controlled client-supplied Content-Type header rather than a server-derived type, and no cleanup of files that fail the check. This makes it possible for authenticated attackers, with subscriber-level access and above, to upload files that may be executable, which makes remote code execution possible. in order to exploit this vulnerability an admin has to give subscribers permission to upload avatars. While PHP files and svg files are rejected, dxfp files are accepted.

Ecosystems
WordPress
Weakness
CWE-434
Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

In the news

No ingested article mentions this CVE yet.