Description
The Hummingbird – Speed Optimization, Caching, Minify, Compress & CDN plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 3.21.0 via the log_msg() function in core/modules/class-page-cache.php. The page-cache debug log is written to wp-content/wphb-logs/page-caching-log.php, a directly web-accessible PHP file that is supposed to be protected by a leading '<?php die(); ?>' header. That header is guarded by class_exists( 'Filesystem' ), which can never match because class_exists() resolves string arguments in the global namespace while the class is Hummingbird\Core\Filesystem; when the log is created during a front-end request the header is therefore omitted entirely. get_cookies() then writes the raw name of any cookie matching the wphb_cache_ prefix into that file without sanitization. This makes it possible for unauthenticated attackers to write arbitrary PHP into the log file with a single anonymous request and execute it by requesting the file directly, resulting in full remote code execution. Exploitation requires the site administrator to have enabled Page Caching with the Debug Log option (non-default), and the log file to be created during a front-end request — a state reached by the plugin's own 'Clear logs' action, any cache flush, or unattended via the plugin's daily log-rotation cron, which can strip the protective header from an existing log file.
Published: 2026-09-05
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Hummingbird Performance plugin for WordPress allows an unauthenticated attacker to inject arbitrary PHP code into the page‑caching debug log file. The vulnerability stems from the log_msg() function that writes the raw cookie name into a web‑accessible PHP file without sanitization, triggered when the debug log is enabled. Once the attacker writes malicious code into that file, executing the file via a web request yields full remote code execution. This flaw is a classic code injection vulnerability classified as CWE‑94.

Affected Systems

This issue affects the Hummingbird – Speed Optimization, Caching, Minify, Compress & CDN plugin distributed by WPMU&nbsp;DEV. All versions up to and including 3.21.0 are vulnerable. WordPress sites that have enabled Page Caching with the Debug Log option, and where the log file has been created or rotated, are at risk.

Risk and Exploitability

The CVSS score of 9.8 categorizes the flaw as critical. The EPSS score is unavailable, so the likelihood of exploitation is uncertain; however, the KEV catalog does not list this vulnerability, suggesting limited documented exploitation. The exploitation chain requires the presence of the unhardened debug log file, which can be created by routine cache operations or the plugin’s daily log‑rotation script. Once conditions are met, an attacker can trigger remote code execution via a single anonymous HTTP request.

Generated by OpenCVE AI on September 5, 2026 at 06:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Hummingbird plugin to the latest released version (3.21.1 or newer).
  • Disable the Page Caching Debug Log option so the vulnerable debug log file is never written to the web root.
  • Delete any existing wp-content/wphb-logs/page-caching-log.php file from the server to remove the attack surface.

Generated by OpenCVE AI on September 5, 2026 at 06:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 05 Sep 2026 05:45:00 +0000

Type Values Removed Values Added
Description The Hummingbird – Speed Optimization, Caching, Minify, Compress & CDN plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 3.21.0 via the log_msg() function in core/modules/class-page-cache.php. The page-cache debug log is written to wp-content/wphb-logs/page-caching-log.php, a directly web-accessible PHP file that is supposed to be protected by a leading '<?php die(); ?>' header. That header is guarded by class_exists( 'Filesystem' ), which can never match because class_exists() resolves string arguments in the global namespace while the class is Hummingbird\Core\Filesystem; when the log is created during a front-end request the header is therefore omitted entirely. get_cookies() then writes the raw name of any cookie matching the wphb_cache_ prefix into that file without sanitization. This makes it possible for unauthenticated attackers to write arbitrary PHP into the log file with a single anonymous request and execute it by requesting the file directly, resulting in full remote code execution. Exploitation requires the site administrator to have enabled Page Caching with the Debug Log option (non-default), and the log file to be created during a front-end request — a state reached by the plugin's own 'Clear logs' action, any cache flush, or unattended via the plugin's daily log-rotation cron, which can strip the protective header from an existing log file.
Title Hummingbird – Speed Optimization, Caching, Minify, Compress & CDN <= 3.21.0 - Unauthenticated Remote Code Execution via Cookie Name in Page Cache Debug Log
Weaknesses CWE-94
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/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-09-05T05:30:54.821Z

Reserved: 2026-08-31T21:02:35.689Z

Link: CVE-2026-83627

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-05T06:17:10.080

Modified: 2026-09-05T06:17:10.080

Link: CVE-2026-83627

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-05T06:30:04Z

Weaknesses
  • CWE-94

    Improper Control of Generation of Code ('Code Injection')