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 @@ -486,10 +486,17 @@ public function read($filename, $dest = null)
486
486
* @param int $mode
487
487
*
488
488
* @return int|boolean
489
+ * @throws Exception
489
490
*/
490
491
public function write ($ filename , $ src , $ mode = null )
491
492
{
492
- if (!$ this ->_isValidSource ($ src ) || !$ this ->_isFilenameWriteable ($ filename )) {
493
+ if (strpos ($ filename , chr (0 )) !== false
494
+ || preg_match ('#(^|[ \\\\/])\.\.($|[ \\\\/])# ' , $ filename )
495
+ ) {
496
+ throw new Exception ('Detected malicious path or filename input. ' );
497
+ }
498
+
499
+ if (!$ this ->_IsValidSource ($ src ) || !$ this ->_isFilenameWriteable ($ filename )) {
493
500
return false ;
494
501
}
495
502
You can’t perform that action at this time.
0 commit comments