File tree Expand file tree Collapse file tree 2 files changed +14
-1
lines changed
app/code/core/Mage/Catalog/Model/Product/Attribute/Backend Expand file tree Collapse file tree 2 files changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -276,6 +276,12 @@ public function addImage(
276
276
$ move = false ,
277
277
$ exclude = true
278
278
) {
279
+ if (strpos ($ file , chr (0 )) !== false
280
+ || preg_match ('#(^|[ \\\\/])\.\.($|[ \\\\/])# ' , $ file )
281
+ ) {
282
+ throw new Exception ('Detected malicious path or filename input. ' );
283
+ }
284
+
279
285
$ file = realpath ($ file );
280
286
281
287
if (!$ file || !file_exists ($ file )) {
Original file line number Diff line number Diff line change @@ -484,10 +484,17 @@ public function read($filename, $dest = null)
484
484
* @param int $mode
485
485
*
486
486
* @return int|boolean
487
+ * @throws Exception
487
488
*/
488
489
public function write ($ filename , $ src , $ mode = null )
489
490
{
490
- if (!$ this ->_isValidSource ($ src ) || !$ this ->_isFilenameWriteable ($ filename )) {
491
+ if (strpos ($ filename , chr (0 )) !== false
492
+ || preg_match ('#(^|[ \\\\/])\.\.($|[ \\\\/])# ' , $ filename )
493
+ ) {
494
+ throw new Exception ('Detected malicious path or filename input. ' );
495
+ }
496
+
497
+ if (!$ this ->_IsValidSource ($ src ) || !$ this ->_isFilenameWriteable ($ filename )) {
491
498
return false ;
492
499
}
493
500
You can’t perform that action at this time.
0 commit comments