Plugin Directory

Changeset 3294591


Ignore:
Timestamp:
05/16/2025 06:53:03 AM (8 months ago)
Author:
Prisna
Message:

Updated code to prevent administrators from injecting a PHP object during the settings import process

Location:
social-counter
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • social-counter/tags/2.1/classes/admin.class.php

    r3293957 r3294591  
    299299            return null;
    300300       
    301         $decode = base64_decode($value);
     301        $decode = @base64_decode($value);
    302302       
    303303        if ($decode === false) {
     
    306306        }
    307307       
    308         $unserialize = preg_match('/O:\d+:(["\'])[^\1]+?\1:\d+:{/i', $decode) ? '' : @unserialize($decode);
    309 
     308        $to_unserialize = preg_match('/O:\d+:(["\'])[^\1]+?\1:\d+:{/i', $decode) ? '' : $decode;
     309       
     310        $unserialize = @unserialize($to_unserialize, array('allowed_classes' => false));
     311       
    310312        if (!is_array($unserialize)) {
    311313            self::_set_imported_status(false);
  • social-counter/trunk/classes/admin.class.php

    r3293957 r3294591  
    299299            return null;
    300300       
    301         $decode = base64_decode($value);
     301        $decode = @base64_decode($value);
    302302       
    303303        if ($decode === false) {
     
    306306        }
    307307       
    308         $unserialize = preg_match('/O:\d+:(["\'])[^\1]+?\1:\d+:{/i', $decode) ? '' : @unserialize($decode);
     308        $to_unserialize = preg_match('/O:\d+:(["\'])[^\1]+?\1:\d+:{/i', $decode) ? '' : $decode;
     309       
     310        $unserialize = @unserialize($to_unserialize, array('allowed_classes' => false));
    309311
    310312        if (!is_array($unserialize)) {
Note: See TracChangeset for help on using the changeset viewer.