Below is a differential between the unpatched vulnerable code and the patched update, for reference.
--- a/instagram-feed/admin/SBI_oEmbeds.php
+++ b/instagram-feed/admin/SBI_oEmbeds.php
@@ -320,6 +320,15 @@
$sbi_notices->remove_notice('oembed_api_change_reconnect');
}
+ // The branches below persist oEmbed tokens (sbi_oembed_token / cff_oembed_token)
+ // straight from request data on a GET page load. Require the connection nonce that
+ // get_connection_url() issues and the connect flow returns, so a forged cross-site
+ // request can't overwrite the tokens. Mirrors SBI_Source::maybe_source_connection_data().
+ $nonce = !empty($_GET['sbi_con']) ? sanitize_key($_GET['sbi_con']) : '';
+ if (!wp_verify_nonce($nonce, 'sbi_con')) {
+ return false;
+ }
+
if (!empty($_GET['transfer'])) {
if (class_exists('CustomFacebookFeedCFF_Oembed')) {
$cff_oembed_token = CFF_Oembed::last_access_token();
--- a/instagram-feed/instagram-feed.php
+++ b/instagram-feed/instagram-feed.php
@@ -4,7 +4,7 @@
Plugin Name: Smash Balloon Instagram Feed
Plugin URI: https://smashballoon.com/instagram-feed
Description: Display beautifully clean, customizable, and responsive Instagram feeds.
-Version: 6.11.1
+Version: 6.11.2
Requires PHP: 7.4
Author: Smash Balloon
Author URI: https://smashballoon.com/
@@ -54,7 +54,7 @@
define('SBI_PLUGIN_NAME', 'Instagram Feed Free');
}
if (!defined('SBIVER')) {
- define('SBIVER', '6.11.1');
+ define('SBIVER', '6.11.2');
}
// Db version.
if (!defined('SBI_DBVERSION')) {
--- a/instagram-feed/vendor/composer/installed.php
+++ b/instagram-feed/vendor/composer/installed.php
@@ -2,4 +2,4 @@
namespace InstagramFeedVendor;
-return array('root' => array('name' => 'smashballoon/instagram-feed', 'pretty_version' => 'v6.11.1', 'version' => '6.11.1.0', 'reference' => 'c973918bf95feee1d33e329354a39a3de7fef28a', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => false), 'versions' => array('laravel/serializable-closure' => array('pretty_version' => 'v1.3.7', 'version' => '1.3.7.0', 'reference' => '4f48ade902b94323ca3be7646db16209ec76be3d', 'type' => 'library', 'install_path' => __DIR__ . '/../laravel/serializable-closure', 'aliases' => array(), 'dev_requirement' => false), 'php-di/invoker' => array('pretty_version' => '2.3.7', 'version' => '2.3.7.0', 'reference' => '3c1ddfdef181431fbc4be83378f6d036d59e81e1', 'type' => 'library', 'install_path' => __DIR__ . '/../php-di/invoker', 'aliases' => array(), 'dev_requirement' => false), 'php-di/php-di' => array('dev_requirement' => false, 'replaced' => array(0 => '6.4.0')), 'php-di/phpdoc-reader' => array('pretty_version' => '2.2.1', 'version' => '2.2.1.0', 'reference' => '66daff34cbd2627740ffec9469ffbac9f8c8185c', 'type' => 'library', 'install_path' => __DIR__ . '/../php-di/phpdoc-reader', 'aliases' => array(), 'dev_requirement' => false), 'psr/container' => array('pretty_version' => '1.1.2', 'version' => '1.1.2.0', 'reference' => '513e0666f7216c7459170d56df27dfcefe1689ea', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), 'dev_requirement' => false), 'smashballoon/framework' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '7d98a252e7a338c8cd506aad5a3d862eaa4f50f3', 'type' => 'library', 'install_path' => __DIR__ . '/../smashballoon/framework', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => false), 'smashballoon/instagram-feed' => array('pretty_version' => 'v6.11.1', 'version' => '6.11.1.0', 'reference' => 'c973918bf95feee1d33e329354a39a3de7fef28a', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => false), 'smashballoon/stubs' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '063c3e588e897985d83cb65958c45e12281263ba', 'type' => 'library', 'install_path' => __DIR__ . '/../smashballoon/stubs', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => false)));
+return array('root' => array('name' => 'smashballoon/instagram-feed', 'pretty_version' => 'v6.11.2', 'version' => '6.11.2.0', 'reference' => 'a6787838d0e23b3c6e9c304c7275b829d124af4d', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => false), 'versions' => array('laravel/serializable-closure' => array('pretty_version' => 'v1.3.7', 'version' => '1.3.7.0', 'reference' => '4f48ade902b94323ca3be7646db16209ec76be3d', 'type' => 'library', 'install_path' => __DIR__ . '/../laravel/serializable-closure', 'aliases' => array(), 'dev_requirement' => false), 'php-di/invoker' => array('pretty_version' => '2.3.7', 'version' => '2.3.7.0', 'reference' => '3c1ddfdef181431fbc4be83378f6d036d59e81e1', 'type' => 'library', 'install_path' => __DIR__ . '/../php-di/invoker', 'aliases' => array(), 'dev_requirement' => false), 'php-di/php-di' => array('dev_requirement' => false, 'replaced' => array(0 => '6.4.0')), 'php-di/phpdoc-reader' => array('pretty_version' => '2.2.1', 'version' => '2.2.1.0', 'reference' => '66daff34cbd2627740ffec9469ffbac9f8c8185c', 'type' => 'library', 'install_path' => __DIR__ . '/../php-di/phpdoc-reader', 'aliases' => array(), 'dev_requirement' => false), 'psr/container' => array('pretty_version' => '1.1.2', 'version' => '1.1.2.0', 'reference' => '513e0666f7216c7459170d56df27dfcefe1689ea', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), 'dev_requirement' => false), 'smashballoon/framework' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '7d98a252e7a338c8cd506aad5a3d862eaa4f50f3', 'type' => 'library', 'install_path' => __DIR__ . '/../smashballoon/framework', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => false), 'smashballoon/instagram-feed' => array('pretty_version' => 'v6.11.2', 'version' => '6.11.2.0', 'reference' => 'a6787838d0e23b3c6e9c304c7275b829d124af4d', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => false), 'smashballoon/stubs' => array('pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => '063c3e588e897985d83cb65958c45e12281263ba', 'type' => 'library', 'install_path' => __DIR__ . '/../smashballoon/stubs', 'aliases' => array(0 => '9999999-dev'), 'dev_requirement' => false)));