Version Description
- 26 May 2016 =
- Security: Hotfix for certain versions of Jetpack
Download this release
Release Info
| Developer | benedictsinger |
| Plugin | |
| Version | 1.8.3 |
| Comparing to | |
| See all releases | |
Code changes from version 1.8.2 to 1.8.3
- class.vaultpress-hotfixes.php +69 -1
- readme.txt +4 -1
- vaultpress.php +2 -2
class.vaultpress-hotfixes.php
CHANGED
|
@@ -103,6 +103,9 @@ class VaultPress_Hotfixes {
|
|
| 103 |
// Protect WooCommerce from object injection via PayPal IPN notifications. Affects 2.0.20 -> 2.3.10
|
| 104 |
add_action( 'init', array( $this , 'protect_woocommerce_paypal_object_injection' ), 1 );
|
| 105 |
|
|
|
|
|
|
|
|
|
|
| 106 |
if ( version_compare( $wp_version, '3.1', '>=') && version_compare( $wp_version, '4.3', '<=' ) ) {
|
| 107 |
if ( is_admin() ) {
|
| 108 |
add_filter( 'user_email', array( $this, 'patch_user_email' ), 10 , 3 );
|
|
@@ -117,7 +120,72 @@ class VaultPress_Hotfixes {
|
|
| 117 |
// Protect Akismet < 3.1.5 from stored XSS in admin page
|
| 118 |
add_filter( 'init', array( $this, 'protect_akismet_comment_xss' ), 50 );
|
| 119 |
}
|
| 120 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 121 |
function filter_long_comment_xss( $commentdata ) {
|
| 122 |
if ( strlen( $commentdata['comment_content'] ) > 65500 )
|
| 123 |
wp_die( 'Comment too long', 'Invalid comment' );
|
| 103 |
// Protect WooCommerce from object injection via PayPal IPN notifications. Affects 2.0.20 -> 2.3.10
|
| 104 |
add_action( 'init', array( $this , 'protect_woocommerce_paypal_object_injection' ), 1 );
|
| 105 |
|
| 106 |
+
// Protect Jetpack from comments-based XSS attack
|
| 107 |
+
add_action( 'plugins_loaded', array( $this, 'protect_jetpack_402_from_oembed_xss' ), 1 );
|
| 108 |
+
|
| 109 |
if ( version_compare( $wp_version, '3.1', '>=') && version_compare( $wp_version, '4.3', '<=' ) ) {
|
| 110 |
if ( is_admin() ) {
|
| 111 |
add_filter( 'user_email', array( $this, 'patch_user_email' ), 10 , 3 );
|
| 120 |
// Protect Akismet < 3.1.5 from stored XSS in admin page
|
| 121 |
add_filter( 'init', array( $this, 'protect_akismet_comment_xss' ), 50 );
|
| 122 |
}
|
| 123 |
+
|
| 124 |
+
function protect_jetpack_402_from_oembed_xss() {
|
| 125 |
+
if ( $this->needs_jetpack_402_fix() ) {
|
| 126 |
+
add_filter( 'jetpack_comments_allow_oembed', array( $this, 'disable_jetpack_oembed' ) );
|
| 127 |
+
}
|
| 128 |
+
}
|
| 129 |
+
|
| 130 |
+
function needs_jetpack_402_fix() {
|
| 131 |
+
if ( ! defined( 'JETPACK__VERSION' ) ) {
|
| 132 |
+
return false;
|
| 133 |
+
}
|
| 134 |
+
|
| 135 |
+
if ( version_compare( JETPACK__VERSION, '2.0.7', '<' ) ) {
|
| 136 |
+
return true;
|
| 137 |
+
}
|
| 138 |
+
|
| 139 |
+
if ( version_compare( JETPACK__VERSION, '4.0.2', '>' ) ) {
|
| 140 |
+
return false;
|
| 141 |
+
}
|
| 142 |
+
|
| 143 |
+
$secure_jetpacks = array(
|
| 144 |
+
'2.1' => '2.1.5',
|
| 145 |
+
'2.2' => '2.2.8',
|
| 146 |
+
'2.3' => '2.3.8',
|
| 147 |
+
'2.4' => '2.4.5',
|
| 148 |
+
'2.5' => '2.5.3',
|
| 149 |
+
'2.6' => '2.6.4',
|
| 150 |
+
'2.7' => '2.7.3',
|
| 151 |
+
'2.8' => '2.8.3',
|
| 152 |
+
'2.9' => '2.9.4',
|
| 153 |
+
'3.0' => '3.0.4',
|
| 154 |
+
'3.1' => '3.1.3',
|
| 155 |
+
'3.2' => '3.2.3',
|
| 156 |
+
'3.3' => '3.3.4',
|
| 157 |
+
'3.4' => '3.4.4',
|
| 158 |
+
'3.5' => '3.5.4',
|
| 159 |
+
'3.6' => '3.6.2',
|
| 160 |
+
'3.7' => '3.7.3',
|
| 161 |
+
'3.8' => '3.8.3',
|
| 162 |
+
'3.9' => '3.9.7',
|
| 163 |
+
'4.0' => '4.0.3',
|
| 164 |
+
);
|
| 165 |
+
|
| 166 |
+
$parts = explode( '.', JETPACK__VERSION, 3 );
|
| 167 |
+
if ( count( $parts ) < 2 ) {
|
| 168 |
+
// no/not enough periods in the version;
|
| 169 |
+
return false;
|
| 170 |
+
}
|
| 171 |
+
|
| 172 |
+
// pull out the first two components, cast to int to get rid of weird 'beta2' junk
|
| 173 |
+
$int_parts = array();
|
| 174 |
+
$int_parts[0] = intval( $parts[0] );
|
| 175 |
+
$int_parts[1] = intval( $parts[1] );
|
| 176 |
+
|
| 177 |
+
// and find the secure version for this branch
|
| 178 |
+
$branch = sprintf( '%d.%d', $int_parts[0], $int_parts[1] );
|
| 179 |
+
if ( ! isset( $secure_jetpacks[ $branch ] ) ) {
|
| 180 |
+
return false;
|
| 181 |
+
}
|
| 182 |
+
return version_compare( JETPACK__VERSION, $secure_jetpacks[ $branch ], '<' );
|
| 183 |
+
}
|
| 184 |
+
|
| 185 |
+
function disable_jetpack_oembed( $enabled ) {
|
| 186 |
+
return false;
|
| 187 |
+
}
|
| 188 |
+
|
| 189 |
function filter_long_comment_xss( $commentdata ) {
|
| 190 |
if ( strlen( $commentdata['comment_content'] ) > 65500 )
|
| 191 |
wp_die( 'Comment too long', 'Invalid comment' );
|
readme.txt
CHANGED
|
@@ -3,7 +3,7 @@ Contributors: automattic, apokalyptik, briancolinger, josephscott, shaunandrews,
|
|
| 3 |
Tags: security, malware, virus, archive, back up, back ups, backup, backups, scanning, restore, wordpress backup, site backup, website backup
|
| 4 |
Requires at least: 3.2
|
| 5 |
Tested up to: 4.5
|
| 6 |
-
Stable tag: 1.8.
|
| 7 |
License: GPLv2
|
| 8 |
|
| 9 |
VaultPress is a subscription service offering realtime backup, automated security scanning, and support from WordPress experts.
|
|
@@ -51,6 +51,9 @@ A VaultPress subscription is for a single WordPress site. You can purchase addit
|
|
| 51 |
Yes, VaultPress supports Multisite installs. Each site will require its own subscription.
|
| 52 |
|
| 53 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
| 54 |
= 1.8.2 - 11 May 2016 =
|
| 55 |
* Workaround for some versions of mod_security.
|
| 56 |
|
| 3 |
Tags: security, malware, virus, archive, back up, back ups, backup, backups, scanning, restore, wordpress backup, site backup, website backup
|
| 4 |
Requires at least: 3.2
|
| 5 |
Tested up to: 4.5
|
| 6 |
+
Stable tag: 1.8.3
|
| 7 |
License: GPLv2
|
| 8 |
|
| 9 |
VaultPress is a subscription service offering realtime backup, automated security scanning, and support from WordPress experts.
|
| 51 |
Yes, VaultPress supports Multisite installs. Each site will require its own subscription.
|
| 52 |
|
| 53 |
== Changelog ==
|
| 54 |
+
= 1.8.3 - 26 May 2016 =
|
| 55 |
+
* Security: Hotfix for certain versions of Jetpack
|
| 56 |
+
|
| 57 |
= 1.8.2 - 11 May 2016 =
|
| 58 |
* Workaround for some versions of mod_security.
|
| 59 |
|
vaultpress.php
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
* Plugin Name: VaultPress
|
| 4 |
* Plugin URI: http://vaultpress.com/?utm_source=plugin-uri&utm_medium=plugin-description&utm_campaign=1.0
|
| 5 |
* Description: Protect your content, themes, plugins, and settings with <strong>realtime backup</strong> and <strong>automated security scanning</strong> from <a href="http://vaultpress.com/?utm_source=wp-admin&utm_medium=plugin-description&utm_campaign=1.0" rel="nofollow">VaultPress</a>. Activate, enter your registration key, and never worry again. <a href="http://vaultpress.com/help/?utm_source=wp-admin&utm_medium=plugin-description&utm_campaign=1.0" rel="nofollow">Need some help?</a>
|
| 6 |
-
* Version: 1.8.
|
| 7 |
* Author: Automattic
|
| 8 |
* Author URI: http://vaultpress.com/?utm_source=author-uri&utm_medium=plugin-description&utm_campaign=1.0
|
| 9 |
* License: GPL2+
|
|
@@ -18,7 +18,7 @@ class VaultPress {
|
|
| 18 |
var $option_name = 'vaultpress';
|
| 19 |
var $auto_register_option = 'vaultpress_auto_register';
|
| 20 |
var $db_version = 4;
|
| 21 |
-
var $plugin_version = '1.8.
|
| 22 |
|
| 23 |
function __construct() {
|
| 24 |
register_activation_hook( __FILE__, array( $this, 'activate' ) );
|
| 3 |
* Plugin Name: VaultPress
|
| 4 |
* Plugin URI: http://vaultpress.com/?utm_source=plugin-uri&utm_medium=plugin-description&utm_campaign=1.0
|
| 5 |
* Description: Protect your content, themes, plugins, and settings with <strong>realtime backup</strong> and <strong>automated security scanning</strong> from <a href="http://vaultpress.com/?utm_source=wp-admin&utm_medium=plugin-description&utm_campaign=1.0" rel="nofollow">VaultPress</a>. Activate, enter your registration key, and never worry again. <a href="http://vaultpress.com/help/?utm_source=wp-admin&utm_medium=plugin-description&utm_campaign=1.0" rel="nofollow">Need some help?</a>
|
| 6 |
+
* Version: 1.8.3
|
| 7 |
* Author: Automattic
|
| 8 |
* Author URI: http://vaultpress.com/?utm_source=author-uri&utm_medium=plugin-description&utm_campaign=1.0
|
| 9 |
* License: GPL2+
|
| 18 |
var $option_name = 'vaultpress';
|
| 19 |
var $auto_register_option = 'vaultpress_auto_register';
|
| 20 |
var $db_version = 4;
|
| 21 |
+
var $plugin_version = '1.8.3';
|
| 22 |
|
| 23 |
function __construct() {
|
| 24 |
register_activation_hook( __FILE__, array( $this, 'activate' ) );
|
