Description
The BP Profile Search plugin for WordPress is vulnerable to Local File Inclusion in versions up to, and including, 5.9 via the 'ajax_template' value parsed from the client-controlled 'bps_directory' cookie during BuddyPress AJAX directory requests. The bps_directory_ajax() filter (hooked onto bp_legacy_object_template_path and bp_nouveau_object_template_path) reads the cookie, applies only a referer-derived 'page' comparison in bps_get_directory_data() (where bps_current_page() uses HTTP_REFERER during AJAX and is therefore also attacker-controlled), and then suffixes the attacker-controlled template value with '.php' and passes it to bp_locate_template() with no basename restriction, no whitelist, and no path-traversal check. This makes it possible for unauthenticated attackers to include arbitrary PHP files on the server, which can lead to remote code execution when PHP files can be uploaded or when images such as the default wordpress:php8.
Published: 2026-10-14
Score: 8.1 High
EPSS: 1.1% Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

The BP Profile Search WordPress plugin contains a Local File Inclusion vulnerability that allows an unauthenticated user to supply an attacker‑controlled value for the 'ajax_template' parameter through the 'bps_directory' cookie. The plugin unconditionally appends ‘.php’ to this value and passes it to the template loader without any basename restriction or whitelist, enabling inclusion of arbitrary PHP files. Because uploaded PHP files or even the default WordPress php8 snippet can be placed under a directory referenced by the cookie, an attacker can execute arbitrary code on the host. Affected systems are sites running the BP Profile Search plugin by dontdream, in any release up to and including 5.9. The vulnerability has been discovered in the 5.9 release and mitigated in later 6.0 code. The plugin integrates with BuddyPress AJAX directory requests, so the flaw is triggered without needing user authentication. The CVSS score of 8.1 signals a high impact, while the EPSS score is less than 1 % indicating a low current exploitation probability. The vulnerability is not listed in the CISA KEV catalog. An attacker can reach the vulnerable endpoint via a crafted cookie, so the attack vector is local but does not require prior authentication. Once the attacker gains file inclusion, remote code execution follows if they can supply a PHP file, making the risk very serious for site owners.

Affected Systems

Sites running the BP Profile Search plugin (dontdream) on versions up to 5.9 are affected.

Risk and Exploitability

The CVSS score of 8.1 signals a high impact, while the EPSS score is less than 1 % indicating a low current exploitation probability. The vulnerability is not listed in the CISA KEV catalog. An attacker can reach the vulnerable endpoint via a crafted cookie, so the attack vector is local but does not require prior authentication. Once the attacker gains file inclusion, remote code execution follows if they can supply a PHP file, making the risk very serious for site owners.

Generated by OpenCVE AI on October 16, 2026 at 01:41 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade BP Profile Search to version 6.0 or newer to eliminate the unbounded template inclusion logic.
  • Remove or restrict execution of PHP files in the WordPress uploads directory and any directories referenced by the plugin to prevent accidental inclusion of malicious scripts.
  • Block unauthenticated access to the BuddyPress AJAX endpoint that processes the 'bps_directory' cookie using a web‑application firewall or custom .htaccess rule as a temporary shield until the plugin is updated.

Generated by OpenCVE AI on October 16, 2026 at 01:41 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 14 Oct 2026 01:45:00 +0000

Type Values Removed Values Added
Description The BP Profile Search plugin for WordPress is vulnerable to Local File Inclusion in versions up to, and including, 5.9 via the 'ajax_template' value parsed from the client-controlled 'bps_directory' cookie during BuddyPress AJAX directory requests. The bps_directory_ajax() filter (hooked onto bp_legacy_object_template_path and bp_nouveau_object_template_path) reads the cookie, applies only a referer-derived 'page' comparison in bps_get_directory_data() (where bps_current_page() uses HTTP_REFERER during AJAX and is therefore also attacker-controlled), and then suffixes the attacker-controlled template value with '.php' and passes it to bp_locate_template() with no basename restriction, no whitelist, and no path-traversal check. This makes it possible for unauthenticated attackers to include arbitrary PHP files on the server, which can lead to remote code execution when PHP files can be uploaded or when images such as the default wordpress:php8.
Title BP Profile Search <= 5.9 - Unauthenticated Local File Inclusion to Remote Code Execution via 'bps_directory' Cookie 'ajax_template' Value
Weaknesses CWE-98
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-10-14T18:19:54.568Z

Reserved: 2026-10-02T19:57:22.762Z

Link: CVE-2026-104995

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-10-14T02:16:56.500

Modified: 2026-10-14T19:17:08.627

Link: CVE-2026-104995

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-16T01:45:19Z

Weaknesses
  • CWE-98

    Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')