/wpvulnerability

Plugin WPVulnerability for WordPress. https://wordpress.org/plugins/wpvulnerability/

Primary LanguagePHP

=== WPVulnerability ===
Contributors: javiercasares, davidperez, lbonomo, alexclassroom
Tags: security, vulnerability, site-health
Requires at least: 4.1
Tested up to: 6.7
Stable tag: 4.0.1
Requires PHP: 5.6
Version: 4.0.1
License: GPL-2.0-or-later
License URI: https://spdx.org/licenses/GPL-2.0-or-later.html

Get WordPress vulnerability alerts from the [WPVulnerability Database API](https://www.wpvulnerability.com/).

== Description ==

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.

= Data reliability =

The information provided by the information database comes from different sources that have been reviewed by third parties. There is no liability of any kind for the information. Act at your own risk.

== Using the plugin ==

= WP-CLI =

You can use the following WP-CLI commands to manage and check vulnerabilities:

* Core: `wp wpvulnerability core`
* Plugins: `wp wpvulnerability plugins`
* Themes: `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`

All commands support the `--format` option to specify the output format:

* `--format=table`: Displays the results in a table format (default).
* `--format=json`: Displays the results in JSON format.

Need help?

* `wp wpvulnerability --help`: Displays help information for WPVulnerability commands.
* `wp wpvulnerability [command] --help`: Displays help information for a WPVulnerability command.

= REST API =

The WPVulnerability plugin provides several **REST API endpoints** to fetch vulnerability information for different components of your WordPress site.

* Core: `/wpvulnerability/v1/core`
* Plugins: `/wpvulnerability/v1/plugins`
* Themes: `/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`

The WPVulnerability REST API uses **Application Passwords** for authentication. You need to include a valid Application Password in the Authorization header of your requests.

Example Request with Authentication

`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](https://make.wordpress.org/core/2020/11/05/application-passwords-integration-guide/).

== Extra Configurations ==

= "From:" mail (since: 3.2.2) =

If, for some reason, you need the emails sent by the plugin to have a From different from the site administrator, you can change it from the `wp-config.php` by adding a constant:

`define( 'WPVULNERABILITY_MAIL', 'sender@example.com' );`

If the constant is active, it will be visible in the configuration screen.

== Installation ==

= Automatic download =

Visit the plugin section in your WordPress, search for [wpvulnerability]; download and install the plugin.

= Manual download =

Extract the contents of the ZIP and upload the contents to the `/wp-content/plugins/wpvulnerability/` directory. Once uploaded, it will appear in your plugin list.

== Frequently Asked Questions ==

= Where does the vulnerability information come from? =

The origin is in the WPVulnerability.com API. The vulnerabilities that appear in this API come from different sources, such as CVEs.

= Is data from my site sent anywhere? =

No. Never. Your privacy is very important to us. We do not commercialize with your data.

= What vulnerabilities will I find? =

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

= What do I do if my site has a vulnerability? =

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).

== Screenshots ==

1. WP-Admin Dashboard widget.
2. Vulnerability list at Plugins list.
3. Vulnerability list at Site Health.

== Compatibility ==

* WordPress: 4.1 - 6.7
* PHP: 5.6 - 8.4
* WP-CLI: 2.3.0 - 2.11.0

== Changelog ==

= [4.0.1] - 2024-10-04 =

**Fixed**

* API endpoints: some API endpoints were failing.
* CLI endpoints: some CLI endpoints were failing.

**Compatibility**

* WordPress: 4.1 - 6.7
* PHP: 5.6 - 8.4
* WP-CLI: 2.3.0 - 2.11.0

**Tests**

* PHP Coding Standards: 3.10.3
* WordPress Coding Standards: 3.1.0
* Plugin Check (PCP): 1.1.0
* SonarCloud Code Review

= [4.0.0] - 2024-10-01 =

**Added**

* ImageMagic vulnerabilities (Site Health + WP-CLI + API + mail).
* curl vulnerabilities (Site Health + WP-CLI + API + mail).
* memcached vulnerabilities (Site Health + WP-CLI + API + mail).
* Redis vulnerabilities (Site Health + WP-CLI + API + mail).
* SQLite vulnerabilities (Site Health + WP-CLI + API + mail).

**Fixed**

* Test email without email.
* Improved MariaDB 11.x detection.
* Improved versions detection (major-minor.patch-build).
* WordPress < 5.3: use of wp_date().
* WordPress < 5.0: locale detection.
* Dashboard widget only for users with capabilities.
* WordPress < 5.2: link to Site Health

**Changed**

* Big refactory.
* Less files, less size, improved code quality.

**Compatibility**

* WordPress: 4.1 - 6.7
* PHP: 5.6 - 8.4
* WP-CLI: 2.3.0 - 2.11.0

**Tests**

* Manual Testing:
  * WordPress 6.7 / PHP 8.4
  * WordPress 6.6 / PHP 8.3
  * WordPress 6.4 / PHP 8.2
  * WordPress 6.1 / PHP 8.1
  * WordPress 5.8 / PHP 8.0
  * WordPress 5.5 / PHP 7.4
  * WordPress 5.3 / PHP 7.3
  * WordPress 4.9 / PHP 7.2
  * WordPress 4.8 / PHP 7.1
  * WordPress 4.6 / PHP 7.0
  * WordPress 4.1 / PHP 5.6
* PHP Coding Standards: 3.10.3
* WordPress Coding Standards: 3.1.0
* Plugin Check (PCP): 1.1.0
* SonarCloud Code Review

= [3.4.1] - 2024-08-23 =

**Fixed**

* The number of vulnerabilities for core is incorrect.

**Compatibility**

* WordPress: 4.1 - 6.7
* PHP: 5.6 - 8.3
* WP-CLI: 2.3.0 - 2.11.0

**Tests**

* PHP Coding Standards: 3.10.2
* WordPress Coding Standards: 3.1.0
* Plugin Check (PCP): 1.0.2
* SonarCloud Code Review

= Previous versions =

If you want to see the full changelog, visit the [changelog.txt](https://plugins.trac.wordpress.org/browser/wpvulnerability/trunk/changelog.txt) file.

== Security ==

This plugin adheres to the following security measures and review protocols for each version:

* [WordPress Plugin Handbook](https://developer.wordpress.org/plugins/)
* [WordPress Plugin Security](https://developer.wordpress.org/plugins/wordpress-org/plugin-security/)
* [WordPress APIs Security](https://developer.wordpress.org/apis/security/)
* [WordPress Coding Standards](https://github.com/WordPress/WordPress-Coding-Standards)
* [Plugin Check (PCP)](https://wordpress.org/plugins/plugin-check/)
* [SonarCloud Code Review](https://www.sonarsource.com/products/sonarcloud/)

== Privacy ==

* This plugin or the WordPress Vulnerability Database API does not collect any information about your site, your identity, the plugins, themes or content the site has.

== Vulnerabilities ==

* No vulnerabilities have been published up to version 4.0.1.

Found a security vulnerability? Please report it to us privately at the [WPVulnerability GitHub repository](https://github.com/javiercasares/wpvulnerability/security/advisories/new).

== Contributors ==

You can contribute to this plugin at the [WPVulnerability GitHub repository](https://github.com/javiercasares/wpvulnerability).