Image
Image

WPVulnerability

Descripció

This plugin integrates with the WPVulnerability API to provide real-time vulnerability assessments for your WordPress core, plugins, themes, PHP version, Apache HTTPD, nginx, MariaDB, MySQL, ImageMagick, curl, memcached, Redis, and SQLite.

It delivers detailed reports directly within your WordPress dashboard, helping you stay aware of potential security risks. Configure the plugin to send periodic notifications about your site’s security status, ensuring you remain informed without being overwhelmed. Designed for ease of use, it supports proactive security measures without storing or retrieving any personal data from your site.

Fiabilitat de les dades

La informació que proporciona la base de dades d’informació prové de diferents fonts que han estat revisades per tercers. No hi ha cap mena de responsabilitat per la informació. Actua sota el teu propi risc.

Utilitzant l’extensió

WP-CLI

Pots utilitzar les següents ordres de WP-CLI per gestionar i comprovar vulnerabilitats:

  • Nucli: wp wpvulnerability core
  • Extensions: wp wpvulnerability plugins
  • Temes: wp wpvulnerability themes
  • PHP: wp wpvulnerability php
  • Apache HTTPD: wp wpvulnerability apache
  • nginx: wp wpvulnerability nginx
  • MariaDB: wp wpvulnerability mariadb
  • MySQL: wp wpvulnerability mysql
  • ImageMagick: wp wpvulnerability imagemagick
  • curl: wp wpvulnerability curl
  • memcached: wp wpvulnerability memcached
  • Redis: wp wpvulnerability redis
  • SQLite: wp wpvulnerability sqlite

To configure the plugin you can use:

  • Hide component: wp wpvulnerability config hide <component> [on|off]
  • Notification email: wp wpvulnerability config email <emails> (comma separatted)
  • Notification period: wp wpvulnerability config period <never|daily|weekly>
  • Log retention: wp wpvulnerability config log-retention <0|1|7|14|28> (in days)
  • Cache duration: wp wpvulnerability config cache <1|6|12|24> (in hours)

Tots els comandaments admeten l’opció --format per especificar el format de sortida:

  • --format=table: Mostra els resultats en un format de taula (per defecte)
  • --format=json: Mostra els resultats en format JSON

Necessites ajuda?

  • wp wpvulnerability --help: Mostra informació d’ajuda per als comandos de WPVulnerability
  • wp wpvulnerability [command] --help: Mostra informació d’ajuda per a un comandament de WPVulnerability

REST API

L’extensió WPVulnerability proporciona diversos punts d’entrada REST API per recollir informació de vulnerabilitat per a diferents components del lloc WordPress.

  • Nucli: /wpvulnerability/v1/core
  • Extensions: /wpvulnerability/v1/plugins
  • Temes: /wpvulnerability/v1/themes
  • PHP: /wpvulnerability/v1/php
  • Apache HTTPD: /wpvulnerability/v1/apache
  • nginx: /wpvulnerability/v1/nginx
  • MariaDB: /wpvulnerability/v1/mariadb
  • MySQL: /wpvulnerability/v1/mysql
  • ImageMagick: /wpvulnerability/v1/imagemagick
  • curl: /wpvulnerability/v1/curl
  • memcached: /wpvulnerability/v1/memcached
  • Redis: /wpvulnerability/v1/redis
  • SQLite: /wpvulnerability/v1/sqlite

L’API REST de WPVulnerability utilitza Contrasenyes d’Aplicació per a l’autenticació. Necessites incloure una Contrasenya d’Aplicació vàlida a la capçalera d’autorització de les teves sol·licituds

Exemple de sol·licitud amb autenticació

curl -X GET https://example.com/wp-json/wpvulnerability/v1/plugins -u username:application_password

Replace username with your WordPress username and application_password with your Application Password.

Configuracions Extra

“From:” mail (des de: 3.2.2)

Si, per alguna raó, necessites que els correus electrònics enviats per l’extensió tinguin un remitent diferent de l’administrador del lloc, pots canviar-ho des del wp-config.php afegint una constant:

define( 'WPVULNERABILITY_MAIL', '[email protected]' );

Si la constant està activa, serà visible a la pantalla de configuració

Force hiding checks (since: 4.1.0)

If you want to always hide a specific component, you can define a constant in wp-config.php. When set to true, the option will be checked automatically in the settings screen and the related analysis will be skipped.

Example:

define( 'WPVULNERABILITY_HIDE_APACHE', true );

Available constants: WPVULNERABILITY_HIDE_CORE, WPVULNERABILITY_HIDE_PLUGINS, WPVULNERABILITY_HIDE_THEMES, WPVULNERABILITY_HIDE_PHP, WPVULNERABILITY_HIDE_APACHE, WPVULNERABILITY_HIDE_NGINX, WPVULNERABILITY_HIDE_MARIADB, WPVULNERABILITY_HIDE_MYSQL, WPVULNERABILITY_HIDE_IMAGEMAGICK, WPVULNERABILITY_HIDE_CURL, WPVULNERABILITY_HIDE_MEMCACHED, WPVULNERABILITY_HIDE_REDIS, WPVULNERABILITY_HIDE_SQLITE.

Cache duration (since: 4.1.0)

By default, data from the API is cached for 12 hours. To change this, define WPVULNERABILITY_CACHE_HOURS in wp-config.php with one of 1, 6, 12 or 24. This value overrides the setting screen and WP-CLI command.

define( 'WPVULNERABILITY_CACHE_HOURS', 24 );

Log rotation (since: 4.2.0)

WPVulnerability stores the most recent API responses so you can review recent calls from the new log tab. Define WPVULNERABILITY_LOG_RETENTION_DAYS in wp-config.php to control how many days of entries are preserved. Supported values are 0, 1, 7, 14 or 28; using 0 disables logging entirely.

define( 'WPVULNERABILITY_LOG_RETENTION_DAYS', 14 );

When the constant is present its value is enforced in the settings UI and through WP-CLI, ensuring consistent log rotation across environments.

Security configuration (since: 4.3.0)

WPVulnerability uses a hybrid detection approach for server software (ImageMagick, Redis, Memcached, SQLite): PHP extensions first (most secure), then shell commands as fallback (most accurate). You can control this behavior using security configuration constants in wp-config.php.

Global disable of shell commands:

define( 'WPVULNERABILITY_DISABLE_SHELL_EXEC', true );

Completely disables shell command usage. Falls back to PHP extensions only. Use for maximum security when accuracy loss is acceptable.

Security mode (standard/strict/disabled):

define( 'WPVULNERABILITY_SECURITY_MODE', 'strict' );
  • standard – Hybrid detection: PHP extensions first, shell commands fallback (default, best accuracy)
  • strict – PHP extensions only, no shell commands (high security, lower accuracy)
  • disabled – No software detection at all (maximum security)

Component whitelist:

define( 'WPVULNERABILITY_SHELL_EXEC_WHITELIST', 'imagemagick,redis' );

Allows shell commands only for specified components. Available components: imagemagick, redis, memcached, sqlite. Use for granular control.

Examples:

Maximum security (no shell commands):

define( 'WPVULNERABILITY_SECURITY_MODE', 'strict' );

Only allow ImageMagick shell detection:

define( 'WPVULNERABILITY_SHELL_EXEC_WHITELIST', 'imagemagick' );

Complete disable:

define( 'WPVULNERABILITY_DISABLE_SHELL_EXEC', true );

All shell commands are hardcoded and validated – no user input is involved. Commands are logged for security auditing.

Compatibilitat

  • WordPress: 4.7 – 6.9
  • PHP: 5.6 – 8.5
  • WP-CLI: 2.3.0 – 2.11.0

Seguretat

Aquesta extensió s’adhereix a les següents mesures de seguretat i protocols de revisió per a cada versió:

Privadesa

  • Aquesta extensió o la WordPress Vulnerability Database API no recopila cap informació sobre el lloc, la identitat, les extensions, temes o contingut que té el lloc.

Vulnerabilitats

  • A security vulnerability was found and fixed in version 4.2.2.1. All previous versions (3.3.0 – 4.2.1) are affected. Please update to version 4.2.2.1 or later.

Heu trobat una vulnerabilitat de seguretat? Informeu-nos en privat en el repositori de GitHub de WPVulnerability.

Col·laboradors

Podeu contribuir a aquesta extensió al repositori GitHub de WPVulnerability.

Captures

  • Image
    Giny al tauler del WP-Admin.
  • Image
    Llista de vulnerabilitats a la Llista d’extensions.
  • Image
    Llista de vulnerabilitats a Salut del lloc.

Instal·lació

Descàrrega automàtica

Visita la secció d’extensions del WordPress, cerca [wpvulnerability]; Baixa i instal·la l’extensió.

Descàrrega manual

Extraieu el contingut del ZIP i carregueu el contingut al directori /wp-content/plugins/wpvulnerability/. Un cop pujat, apareixerà a la llista de plugins.

PMF

D’on prové la informació sobre vulnerabilitats?

L’origen està en l’API WPVulnerability.com. Les vulnerabilitats que apareixen en aquesta API provenen de diferents fonts, com ara les CVE.

Les dades del meu lloc s’envien a algun lloc?

No. Mai. La teva privacitat és molt important per a nosaltres. No comercialitzem amb les teves dades.

Quines vulnerabilitats em trobaré?

Vulnerabilities in WordPress Core, Plugins, Themes, PHP, Apache HTTPD, nginx, MariaDB, MySQL, ImageMagick, curl, memcached, Redis, and SQLite are documented.

Què faig si el meu lloc web té una vulnerabilitat?

First of all, peace of mind. Investigate what the vulnerability is and, above all, check that you have the latest version of the compromised element. We actively recommend that you keep all your WordPress and its plugins up to date. Contact your hosting provider to patch non-WordPress vulnerabilities (like web server, databases, and other software).

Ressenyes

Image
28 de gener de 2025 1 resposta
Without a doubt, the most important plugin to install on your WordPress instance.
Image
17 de abril de 2024
Vulnerabilities are listed into your plugins list.You should also being able to receive an automatic email too. It doesn’t work on my system, but email test yes.So awesome plugin anyway!
Image
8 de abril de 2024 1 resposta
Exactly what I was looking for ! On the roadmap, it would be nice if : we can chose if we want to receive an email OR not (I may use it as a vuln reminder on the dashboard, as I have other plugins already keeping me informed) we can chose what will be in the email – php or not for exemple (it seems that it is planned, thanks) only receive an email if one the vuln is considered high risk etc.
Image
21 de febrer de 2024
This plugin alerts you about known vulnerabilities in your WordPress core, plugins, themes, and even PHP, so you can take action in a timely manner. If you don’t have this plugin on your site already, you absolutely need it!
Llegiu totes les 19 ressenyes

Col·laboradors i desenvolupadors

«WPVulnerability» és programari de codi obert. La següent gent ha col·laborat en aquesta extensió.

Col·laboradors

“WPVulnerability” s’ha traduït a 14 configuracions regionals. Gràcies als traductors per les seves aportacions.

Traduïu «WPVulnerability» a la vostra llengua.

Interessats en el desenvolupament?

Navegueu pel codi, baixeu-vos el repositori SVN, o subscriviu-vos al registre de desenvolupament per fisl de subscripció RSS.

Registre de canvis

[4.3.1] – 2026-01-20

Corregit

  • Dashboard widget now correctly counts only vulnerabilities from enabled components, excluding disabled ones from settings.
  • Status badge calculation (Critical/Warning) now properly considers only enabled components when determining severity level.
  • Fixed PHPCS warnings for global variables without plugin prefix in wpvulnerability-admin.php and wpvulnerability-adminms.php.

Compatibilitat

  • WordPress: 4.7 – 6.9
  • PHP: 5.6 – 8.5
  • WP-CLI: 2.3.0 – 2.11.0

Proves

  • PHP Coding Standards: 3.13.5
  • WordPress Coding Standards: 3.3.0
  • Plugin Check (PCP): 1.8.0

[4.3.0] – 2026-01-19

Highlights

This major release brings a complete redesign of the admin interface, comprehensive debugging tools, enhanced security, and new notification channels.

  • Complete Admin Interface Redesign: Modern card-based layout with visual component cards, improved spacing, color-coded status badges, and responsive grid layouts across all Settings tabs (Security, About, Logs, Tools, Analysis, and Notifications).
  • New Debug Mode: Comprehensive debugging tools visible when WP_DEBUG is enabled, including System Information, Component Detection with cache status, interactive API Testing with AJAX buttons, Configuration Summary, Cron Status with manual execution, Database Options Viewer, and Quick Actions (clear caches, reset signatures, export debug data as JSON). Includes enhanced web server detection for 9 different servers.
  • Dashboard Widget Redesign: Modern interface with prominent status badges (All Clear/Issues Found/Critical Issues Found), last check timestamp with human-readable format, empty state display with centered checkmark, separated component sections (WordPress Components vs Server Software), color-coded badges, and 2-column grid layout for server software.
  • New Notification Channels: Discord webhook support and Telegram bot integration for vulnerability notifications, with proper character limit handling and webhook URL validation.
  • Enhanced Security: CSRF protection via nonces for plugin/theme vulnerability filters, hybrid software detection system (PHP extensions first, shell commands as fallback), complete audit logging for shell executions, webhook URL validation with HTTPS enforcement and domain whitelisting, and new wp-config.php security constants.
  • Multisite Improvements: Fixed all form submission issues in Network Admin, proper nonce handling, correct URL generation with network_admin_url(), preserved settings when saving individual forms, and fixed Security tab with all required helper functions.
  • Tools & Maintenance: Cron event repair functionality for single sites and multisite networks, “Delete all logs” button, full plugin reset action, and improved cache management.

Afegit

  • Tools tab now lists expected WPVulnerability cron events, shows the scheduled instances, and lets administrators repair them on single sites.
  • Network Tools highlights unexpected WPVulnerability cron events on subsites and provides a one-click repair to clear and reschedule across the network.
  • Logs tab now includes a “Delete all logs” button to purge stored API log entries manually.
  • Hybrid software detection system: PHP extensions first (most secure), shell commands fallback (most accurate).
  • Four-level security control system for shell_exec usage with granular configuration.
  • Shell command validation with whitelist and dangerous pattern detection.
  • Complete audit logging for all shell executions (component, command, output, user, IP, timestamp).
  • New wp-config.php constants: WPVULNERABILITY_DISABLE_SHELL_EXEC, WPVULNERABILITY_SECURITY_MODE, WPVULNERABILITY_SHELL_EXEC_WHITELIST.
  • Detection reliability scoring (0-100) for each software detection method.
  • Discord webhook support for vulnerability notifications with 2000-character limit handling.
  • Telegram bot support for vulnerability notifications with bot token and chat ID configuration.
  • Documentation links for Discord webhook setup (https://support.discord.com/hc/articles/228383668).
  • Documentation links for Telegram bot setup (https://core.telegram.org/bots).
  • Debug tab (visible only when WP_DEBUG is enabled) providing comprehensive debugging tools for administrators.
  • wpvulnerability-debug.php file with 11 helper functions for debug functionality (~18KB).
  • Debug Section 1: System Information displaying WordPress version, PHP version/extensions/memory, database type (MariaDB vs MySQL with proper detection), web server (nginx/Apache/LiteSpeed/OpenLiteSpeed/Caddy/IIS/Angie/OpenResty/Tengine), debug modes status, and debug log file information.
  • Debug log file information showing file path, size, and direct browser link when web-accessible.
  • Debug Section 2: Component Detection table listing all 13 components with detection status, version, analyzed state, and cache expiration time.
  • Debug Section 3: API Testing with interactive AJAX-powered buttons to test API connectivity for each component individually, showing HTTP status, response time, and data preview.
  • Debug Section 4: Configuration Summary displaying current plugin settings at a glance.
  • Debug Section 5: Cron Status showing scheduled tasks with manual execution buttons (permission-gated with nonce verification).
  • Debug Section 6: Database Options Viewer with dropdown to inspect all stored plugin options.
  • Debug Section 7: Quick Actions with buttons to clear all caches, reset plugin/theme signatures, and export debug information as JSON.
  • Enhanced web server detection supporting 9 different servers: nginx, Angie (nginx fork), Apache, LiteSpeed, OpenLiteSpeed, Caddy, IIS, OpenResty (nginx-based), and Tengine (nginx fork).
  • Three-level detection logic for web servers: (1) plugin’s standard function, (2) SERVER_SOFTWARE parsing, (3) shell commands as fallback.
  • Database detection properly distinguishes MariaDB from MySQL via version_comment SQL query.
  • AJAX handler wpvulnerability_ajax_test_api() for API testing with nonce verification and capability checks.
  • Debug helper functions: wpvulnerability_debug_get_log_file_info(), wpvulnerability_debug_detect_webserver(), wpvulnerability_debug_get_system_info(), wpvulnerability_debug_get_component_status(), wpvulnerability_debug_test_api_component(), wpvulnerability_debug_get_cron_status(), wpvulnerability_debug_export_info(), wpvulnerability_debug_clear_all_caches(), wpvulnerability_debug_reset_signatures(), wpvulnerability_debug_get_option_names().
  • Debug tab POST handlers in both wpvulnerability-admin.php and wpvulnerability-adminms.php with nonce verification for all actions.
  • Debug tab render functions in wpvulnerability-admin.php: wpvulnerability_render_admin_tab_debug(), wpvulnerability_render_debug_section_system_info(), wpvulnerability_render_debug_section_components(), wpvulnerability_render_debug_section_config(), wpvulnerability_render_debug_section_cron(), wpvulnerability_render_debug_section_api_testing(), wpvulnerability_render_debug_section_database_options(), wpvulnerability_render_debug_section_quick_actions().

Seguretat

  • Added CSRF protection via nonces for plugin vulnerability filter links to prevent forced navigation attacks.
  • Added CSRF protection via nonces for theme vulnerability filter links to prevent forced navigation attacks.
  • Plugin and theme filter URLs now include security nonces that are verified before applying filters.
  • Enhanced security against timing attacks on vulnerability enumeration by requiring valid nonces.
  • Enhanced ImageMagick, Redis, Memcached, and SQLite detection with hybrid approach and security controls.
  • All shell commands hardcoded and validated – no user input involved.
  • Shell execution wrapper with complete security checks and logging.
  • Webhook URLs now validated on save: enforces HTTPS and verifies hostname matches allowed domains (Slack: hooks.slack.com, Teams: office.com/office365.com/api.hooks.microsoft.com, Discord: discord.com/discordapp.com).
  • Telegram bot token validation with regex pattern check (format: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11).
  • Invalid webhook URLs and bot tokens are rejected with user-friendly error messages instead of silently failing on notification send.
  • Security audit score improved from 85/100 to 98/100 (comprehensive security audit completed 2026-01-19).

Modificat

  • Database error hook now fires the prefixed wpvulnerability_wpdb_last_error action while keeping the legacy hook deprecated.
  • Database update cron now follows the configured cache duration (hourly, 6h, 12h, or 24h).
  • Translations load on init to avoid early textdomain warnings.
  • Vulnerability data now refreshes only via scheduled cron or the manual reload action; admin requests, REST, CLI, notifications, and view rendering no longer trigger API calls to reduce load.
  • Cron scheduling no longer re-queues the update event on every page load; it keeps the configured interval (hourly/6h/12h/24h) unless the schedule changes.
  • REST API now requires administrator capabilities for session or application password access.
  • Admin reset and test email actions enforce admin capabilities.
  • API client timeouts corrected to 2.5 seconds to avoid long hangs.
  • Slack/Teams webhooks restricted to allowed HTTPS hosts to limit SSRF exposure.
  • Tools tab adds a full reset action that clears all plugin data, restores defaults, and reloads from the API.
  • Complete redesign of the admin settings interface with modern card-based layout for all tabs: Security, About, Logs, Tools, Analysis, and Notifications.
  • Settings tabs now feature visual component cards with icons, improved spacing, color-coded status badges, and responsive grid layouts for enhanced usability.
  • Complete redesign of the Dashboard widget with modern, clean interface replacing the basic list layout.
  • Dashboard widget now features prominent status badge with three states: “All Clear” (green, 0 vulnerabilities), “X Issues Found” (yellow, minor issues), “X Critical Issues Found” (red, Core/PHP vulnerable or 5+ total vulnerabilities).
  • Dashboard widget displays last check timestamp with human-readable format (“X minutes ago”, “X hours ago”) and “Refresh Now” link.
  • Dashboard widget shows attractive empty state with centered green checkmark when no vulnerabilities are detected.
  • Dashboard widget separates components into two clear sections: “WordPress Components” (Core, Plugins, Themes) and “Server Software” (PHP, web server, database, etc.).
  • Dashboard widget uses color-coded badges: green for secure (✓ 0), yellow/red for vulnerabilities (✕ N) with consistent design.
  • Dashboard widget displays server software in 2-column grid layout for better space utilization.
  • Dashboard widget shows vulnerable plugin/theme lists indented below their respective components.
  • Dashboard widget uses inline CSS with modern styling: flexbox layouts, proper spacing, WordPress admin color palette, improved typography (13px components, 12px meta).
  • Dashboard widget footer includes links to Site Health and Settings with visual separation.
  • All CSS class names, HTML IDs, and JavaScript references changed from short prefix .wpv- to full prefix .wpvulnerability- to prevent naming conflicts with other plugins and themes (affects 73+ unique classes across admin panels).
  • All inline CSS from admin panels moved to external assets/admin.css file for better performance and cacheability (~1084 lines extracted from 14 style blocks across single-site and multisite admin panels).
  • License updated from GPL2+ to GPL3+.

Corregit

  • Saving partial forms (e.g., log retention) no longer resets other notification settings to their defaults; existing values are preserved unless explicitly changed.
  • Network (adminms) settings now preserve existing values when saving individual forms and keep notification scheduling consistent.
  • Cache column in Component Detection (Debug tab) now correctly displays cache expiration time by properly decoding JSON-encoded timestamps from database.
  • Database detection now properly distinguishes between MariaDB and MySQL instead of always showing “MySQL”.
  • Multisite network admin forms (Notifications, Analysis, Configuration) now submit correctly by using proper network admin URLs and nonces instead of incompatible Settings API methods.
  • All form submission buttons in multisite admin now include proper name attribute (wpvulnerability_submit) for backend processing.
  • Delete logs form in multisite now uses network_admin_url() instead of single-site admin_url() for correct URL generation.
  • All multisite form nonce verifications now match their corresponding form nonce fields (reset, email, repair cron, delete logs) instead of using generic nonce.
  • Security tab in multisite network admin now works correctly by including all required helper functions (wpvulnerability_display_security_status, wpvulnerability_display_detection_methods, wpvulnerability_display_security_logs) instead of calling undefined single-site functions.
  • Tools tab buttons in multisite network admin no longer show “nonce expired” errors by submitting forms to the same page (action=””) instead of explicit URL paths that fail referer validation.
  • Delete All Logs button in Logs tab no longer shows “The link you followed has expired” error by using empty form action (action=””) in both single-site and multisite admin panels.
  • Logs tab pagination now displays horizontally instead of vertically by properly targeting list elements (ul with inline-flex) and individual page links (a and span within li) to work correctly with WordPress paginate_links() ‘type’ => ‘list’ output.

Compatibilitat

  • WordPress: 4.7 – 6.9
  • PHP: 5.6 – 8.5
  • WP-CLI: 2.3.0 – 2.11.0

Proves

  • PHP Coding Standards: 3.13.5
  • WordPress Coding Standards: 3.3.0
  • Plugin Check (PCP): 1.8.0

[4.2.2.1] – 2026-01-16

Seguretat

  • Fixed authorization vulnerability in REST API endpoints that allowed low-privileged users to access sensitive vulnerability data. API now properly verifies user capabilities (manage_options for single sites, manage_network_options for multisite) in addition to authentication.
  • Added direct access protection to wpvulnerability-api.php to prevent direct file execution outside WordPress context.

Compatibilitat

  • WordPress: 4.7 – 6.9
  • PHP: 5.6 – 8.4
  • WP-CLI: 2.3.0 – 2.11.0

Proves

  • PHP Coding Standards: 3.13.5
  • WordPress Coding Standards: 3.3.0
  • Plugin Check (PCP): 1.8.0

[4.2.1] – 2025-12-17

Corregit

  • Clear legacy WPVulnerability cron events from multisite subsites so updates and log cleanup only run on the main site.

Compatibilitat

  • WordPress: 4.7 – 6.9
  • PHP: 5.6 – 8.4
  • WP-CLI: 2.3.0 – 2.11.0

Proves

  • PHP Coding Standards: 3.13.5
  • WordPress Coding Standards: 3.3.0
  • Plugin Check (PCP): 1.7.0

Previous versions

Si voleu veure el registre complet de canvis, visiteu el fitxer changelog.txt