Skip to content

Fix CVE-2025-62126: sensitive data exposure in VCL config download#15

Open
shaundma wants to merge 5 commits into
razvanstanga:masterfrom
shaundma:master
Open

Fix CVE-2025-62126: sensitive data exposure in VCL config download#15
shaundma wants to merge 5 commits into
razvanstanga:masterfrom
shaundma:master

Conversation

@shaundma

Copy link
Copy Markdown

Summary

  • Add current_user_can('manage_options') and check_admin_referer() to VCL configuration download handler, which was accessible by unauthenticated users via admin-ajax.php (CVE-2025-62126)
  • Fix PHP warning for undefined $_SERVER['HTTP_HOST'] when running in WP-CLI context
  • Bump version to 1.8.4, update tested up to WordPress 6.9.4

Test plan

  • Verify unauthenticated POST to wp-admin/admin-ajax.php with option_page=varnish_caching_download is blocked
  • Verify VCL download still works for logged-in administrators via the settings page
  • Verify no PHP warnings when running WP-CLI commands with the plugin active

shaundma and others added 5 commits March 11, 2026 18:17
The VCL configuration download handler in conf_page_fields() ran on
admin_init with no authentication or nonce verification, allowing
unauthenticated users to obtain sensitive data (backend IPs, purge key,
cookie name, ACLs) by POSTing to wp-admin/admin-ajax.php.

Add current_user_can('manage_options') capability check and
check_admin_referer() nonce verification before processing the download.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…es (CVE-2025-48360, CVE-2025-62126)

- Add esc_attr() on all settings field outputs and post meta values
- Add esc_js()/esc_html() on statistics page output (server IPs, stats JSON URLs)
- Add CSRF nonce verification on console purge form submission
- Add sanitize_text_field() on console purge URL and post meta save inputs
- Restrict X-VC-* response headers to debug mode only (CVE-2025-62126)
- Add debug mode warning in admin settings
- Whitelist allowed tab parameter values
- Cast $_GET['post_id'] to integer
- Fix PHP notice from missing isset() on $_GET['info']

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant