# CVE-2026-87964: Product Feed Manager for WooCommerce <= 8.0.26 - Authenticated (Shop Manager+) PHP Code Injection via eval() via 'feedConfigCustom2' Parameter

Status: published. Published: 2026-11-06. Updated: 2026-11-06.

The Product Feed Manager for WooCommerce – CTX Feed – Support 220+ Shopping, AI & Social Channels plugin for WordPress is vulnerable to PHP Code Injection in all versions up to, and including, 8.0.26. This is due to insufficient sanitization of the `feedConfigCustom2` parameter — only `wp_unslash()` is applied before the value is stored verbatim via `update_option()`, and during feed generation the `Custom2Template::evaluate_return()` method passes the stored `{(return ...)}` template expressions directly to PHP's `eval()` function without any code-level sanitization. This makes it possible for authenticated attackers, with Shop Manager-level access and above, to inject and execute arbitrary PHP code on the server, escalating their privileges beyond what the role normally permits to full remote code execution and site takeover. The `ctxfeed_custom2_eval_enabled` option defaults to `true`, meaning no additional administrator configuration is required for this attack path to be exploitable out of the box.

## Remediation

No remediation reported in collected sources

## Affected products and versions

- wahid0003 / Product Feed Manager for WooCommerce – CTX Feed – Support 220+ Shopping, AI & Social Channels: ≥ 0; ≤ 8.0.26 (affected, semver). Source: CNA: Wordfence

## Severity and prioritization

- CVSS 3.1: 7.2 (high); CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H; source: CNA: Wordfence

- CISA KEV: No listing in collected sources

- EPSS: Not available

- SSVC: Not available

- Weaknesses: CWE-94

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://www.wordfence.com/threat-intel/vulnerabilities/id/5f900cd9-90f8-46e3-942e-de20a288a1a6?source=cve (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/webappick-product-feed-for-woocommerce/tags/8.0.15/V8/Template/Custom2Template.php#L623 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/webappick-product-feed-for-woocommerce/tags/8.0.17/V8/Template/Custom2Template.php#L623 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/webappick-product-feed-for-woocommerce/tags/8.0.17/V8/API/FeedEndpoint.php#L1893 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/webappick-product-feed-for-woocommerce/tags/8.0.17/V8/API/FeedEndpoint.php#L456 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/webappick-product-feed-for-woocommerce/tags/8.0.17/V8/API/RestController.php#L46 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/webappick-product-feed-for-woocommerce/tags/8.0.17/V8/Template/Custom2Template.php#L153 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/webappick-product-feed-for-woocommerce/tags/8.0.15/V8/API/FeedEndpoint.php#L1893 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/webappick-product-feed-for-woocommerce/tags/8.0.15/V8/API/FeedEndpoint.php#L456 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/webappick-product-feed-for-woocommerce/tags/8.0.15/V8/API/RestController.php#L46 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/webappick-product-feed-for-woocommerce/tags/8.0.15/V8/Template/Custom2Template.php#L153 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/changeset?reponame=&old=3711354%40webappick-product-feed-for-woocommerce&new=3711354%40webappick-product-feed-for-woocommerce (CNA: Wordfence)

## Provenance

- CNA: Wordfence: https://www.cve.org/CVERecord?id=CVE-2026-87964; retrieved 2026-11-06; source updated 2026-11-06

Revision: 234d1afe81a18edf436d5a76d25c2036fa8e22f667a8657a551e99023ee02435

Canonical: https://y2.dev/cve/CVE-2026-87964

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.