← Back to search

CVE-2026-109218

9.8 CRITICAL

Published 2026-10-28 · Updated 2026-10-28

AI risk analysis

Summary
The Contact Manager WordPress plugin (up to v9.1.2) allows unauthenticated arbitrary file uploads due to a flawed extension blacklist: when a filename ends with a dot, sanitize_file_name() strips the trailing dot, causing the extension check to return an empty string and bypass the blacklist, enabling upload of executable files like .phar.
Exploitability
Exploitation is difficult in practice because it requires specific server conditions (Apache with libapache2-mod-php mapping .phar to PHP) and precise timing to access the uploaded file before it is deleted at request end.
Blast radius
If exploited, attackers could achieve remote code execution on the web server, leading to full system compromise, data theft, or lateral movement within the network.
Detection
No reliable host or network indicator is derivable from the published description.
Prioritized remediation
Upgrade to Contact Manager version 9.1.3 or later, which fixes the incomplete extension blacklist and the trailing-dot bypass.
rcefile-uploadwordpressbypassphar

Analysis generated locally by garnet-coder (no data left the box). AI-assisted — verify against primary sources before acting.

NVD description

The Contact Manager plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 9.1.2 via the add_message function. This is due to an incomplete extension blacklist that fails to detect dangerous extensions when a trailing dot causes the extension-derivation routine to return an empty string, which sanitize_file_name() then silently removes before the file is written to disk. This makes it possible for unauthenticated attackers to upload files that may be executable, which makes remote code execution possible. Successful code execution additionally requires the server to use Apache with libapache2-mod-php (which maps .phar to PHP by default) and the attacker to retrieve the uploaded file within the brief window before it is removed by unlink() at end of request.

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Weaknesses

CWE-434

All references

Source data: NVD (nvd.nist.gov), public domain. Exploit-DB.ai adds local AI analysis for defensive use only.

Related CVEs

Related by shared AI tags and CWE weakness class. Browse the full archive.