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 @@ -457,10 +457,17 @@ public function read($filename, $dest = null)
457
457
* @param int $mode
458
458
*
459
459
* @return int|boolean
460
+ * @throws Exception
460
461
*/
461
462
public function write ($ filename , $ src , $ mode = null )
462
463
{
463
- if (!$ this ->_isValidSource ($ src ) || !$ this ->_isFilenameWriteable ($ filename )) {
464
+ if (strpos ($ filename , chr (0 )) !== false
465
+ || preg_match ('#(^|[ \\\\/])\.\.($|[ \\\\/])# ' , $ filename )
466
+ ) {
467
+ throw new Exception ('Detected malicious path or filename input. ' );
468
+ }
469
+
470
+ if (!$ this ->_IsValidSource ($ src ) || !$ this ->_isFilenameWriteable ($ filename )) {
464
471
return false ;
465
472
}
466
473
You can’t perform that action at this time.
0 commit comments