Below is a differential between the unpatched vulnerable code and the patched update, for reference.
--- a/seo-by-rank-math/includes/rest/class-rest-helper.php
+++ b/seo-by-rank-math/includes/rest/class-rest-helper.php
@@ -102,6 +102,13 @@
public static function get_post_permissions_check( $request ) {
$object_id = $request->get_param( 'objectID' );
if ( $object_id === 0 ) {
+ if ( ! Helper::has_cap( 'titles' ) ) {
+ return new WP_Error(
+ 'rest_cannot_edit',
+ __( 'Sorry, you are not allowed to edit homepage SEO settings.', 'seo-by-rank-math' ),
+ [ 'status' => rest_authorization_required_code() ]
+ );
+ }
return true;
}
--- a/seo-by-rank-math/rank-math.php
+++ b/seo-by-rank-math/rank-math.php
@@ -9,7 +9,7 @@
*
* @wordpress-plugin
* Plugin Name: Rank Math SEO
- * Version: 1.0.271
+ * Version: 1.0.271.1
* Plugin URI: https://rankmath.com/
* Description: Rank Math SEO is the Best WordPress SEO plugin with the features of many SEO and AI SEO tools in a single package to help multiply your SEO traffic.
* Author: Rank Math SEO
@@ -34,7 +34,7 @@
*
* @var string
*/
- public $version = '1.0.271';
+ public $version = '1.0.271.1';
/**
* Rank Math database version.
@@ -261,7 +261,7 @@
private function includes() {
include __DIR__ . '/vendor/autoload.php';
- if ( class_exists( 'WPMCPCoreMcpAdapter' ) ) {
+ if ( class_exists( 'WPMCPCoreMcpAdapter' ) && function_exists( 'wp_get_abilities' ) ) {
WPMCPCoreMcpAdapter::instance();
}
--- a/seo-by-rank-math/vendor/autoload.php
+++ b/seo-by-rank-math/vendor/autoload.php
@@ -22,4 +22,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
-return ComposerAutoloaderInit75e1b750d538f842a04adaa9d0cfd4d5::getLoader();
+return ComposerAutoloaderInit42ab6d5f0db1f3d169a779a8e40b5c81::getLoader();
--- a/seo-by-rank-math/vendor/composer/autoload_real.php
+++ b/seo-by-rank-math/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
-class ComposerAutoloaderInit75e1b750d538f842a04adaa9d0cfd4d5
+class ComposerAutoloaderInit42ab6d5f0db1f3d169a779a8e40b5c81
{
private static $loader;
@@ -24,18 +24,18 @@
require __DIR__ . '/platform_check.php';
- spl_autoload_register(array('ComposerAutoloaderInit75e1b750d538f842a04adaa9d0cfd4d5', 'loadClassLoader'), true, true);
+ spl_autoload_register(array('ComposerAutoloaderInit42ab6d5f0db1f3d169a779a8e40b5c81', 'loadClassLoader'), true, true);
self::$loader = $loader = new ComposerAutoloadClassLoader(dirname(__DIR__));
- spl_autoload_unregister(array('ComposerAutoloaderInit75e1b750d538f842a04adaa9d0cfd4d5', 'loadClassLoader'));
+ spl_autoload_unregister(array('ComposerAutoloaderInit42ab6d5f0db1f3d169a779a8e40b5c81', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
- call_user_func(ComposerAutoloadComposerStaticInit75e1b750d538f842a04adaa9d0cfd4d5::getInitializer($loader));
+ call_user_func(ComposerAutoloadComposerStaticInit42ab6d5f0db1f3d169a779a8e40b5c81::getInitializer($loader));
$loader->register(true);
- $includeFiles = ComposerAutoloadComposerStaticInit75e1b750d538f842a04adaa9d0cfd4d5::$files;
+ $includeFiles = ComposerAutoloadComposerStaticInit42ab6d5f0db1f3d169a779a8e40b5c81::$files;
foreach ($includeFiles as $fileIdentifier => $file) {
- composerRequire75e1b750d538f842a04adaa9d0cfd4d5($fileIdentifier, $file);
+ composerRequire42ab6d5f0db1f3d169a779a8e40b5c81($fileIdentifier, $file);
}
return $loader;
@@ -47,7 +47,7 @@
* @param string $file
* @return void
*/
-function composerRequire75e1b750d538f842a04adaa9d0cfd4d5($fileIdentifier, $file)
+function composerRequire42ab6d5f0db1f3d169a779a8e40b5c81($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
--- a/seo-by-rank-math/vendor/composer/autoload_static.php
+++ b/seo-by-rank-math/vendor/composer/autoload_static.php
@@ -4,7 +4,7 @@
namespace ComposerAutoload;
-class ComposerStaticInit75e1b750d538f842a04adaa9d0cfd4d5
+class ComposerStaticInit42ab6d5f0db1f3d169a779a8e40b5c81
{
public static $files = array (
'da5f6548f070d3d306f90eee42dd5de6' => __DIR__ . '/..' . '/donatj/phpuseragentparser/src/UserAgentParser.php',
@@ -464,9 +464,9 @@
public static function getInitializer(ClassLoader $loader)
{
return Closure::bind(function () use ($loader) {
- $loader->prefixLengthsPsr4 = ComposerStaticInit75e1b750d538f842a04adaa9d0cfd4d5::$prefixLengthsPsr4;
- $loader->prefixDirsPsr4 = ComposerStaticInit75e1b750d538f842a04adaa9d0cfd4d5::$prefixDirsPsr4;
- $loader->classMap = ComposerStaticInit75e1b750d538f842a04adaa9d0cfd4d5::$classMap;
+ $loader->prefixLengthsPsr4 = ComposerStaticInit42ab6d5f0db1f3d169a779a8e40b5c81::$prefixLengthsPsr4;
+ $loader->prefixDirsPsr4 = ComposerStaticInit42ab6d5f0db1f3d169a779a8e40b5c81::$prefixDirsPsr4;
+ $loader->classMap = ComposerStaticInit42ab6d5f0db1f3d169a779a8e40b5c81::$classMap;
}, null, ClassLoader::class);
}
--- a/seo-by-rank-math/vendor/composer/installed.php
+++ b/seo-by-rank-math/vendor/composer/installed.php
@@ -1,9 +1,9 @@
<?php return array(
'root' => array(
'name' => 'rankmath/seo-by-rank-math',
- 'pretty_version' => 'v1.0.271',
- 'version' => '1.0.271.0',
- 'reference' => '6408209a63e2a026f4f01390df03b3439eebfa61',
+ 'pretty_version' => 'v1.0.271.1',
+ 'version' => '1.0.271.1',
+ 'reference' => 'f135b45ec5eda011b138a7fb8e70985d85ca14c8',
'type' => 'wordpress-plugin',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
@@ -38,9 +38,9 @@
'dev_requirement' => false,
),
'rankmath/seo-by-rank-math' => array(
- 'pretty_version' => 'v1.0.271',
- 'version' => '1.0.271.0',
- 'reference' => '6408209a63e2a026f4f01390df03b3439eebfa61',
+ 'pretty_version' => 'v1.0.271.1',
+ 'version' => '1.0.271.1',
+ 'reference' => 'f135b45ec5eda011b138a7fb8e70985d85ca14c8',
'type' => 'wordpress-plugin',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),