Skip to content

Commit 3b787fd

Browse files
colinmollenhourmark-netalico
authored andcommitted
Merge pull request from GHSA-h632-p764-pjqm
Co-authored-by: Mark Lewis <[email protected]>
1 parent 066de0d commit 3b787fd

File tree

2 files changed

+14
-1
lines changed
  • app/code/core/Mage/Catalog/Model/Product/Attribute/Backend
  • lib/Varien/Io

2 files changed

+14
-1
lines changed

app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Media.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,12 @@ public function addImage(
276276
$move = false,
277277
$exclude = true
278278
) {
279+
if (strpos($file, chr(0)) !== false
280+
|| preg_match('#(^|[\\\\/])\.\.($|[\\\\/])#', $file)
281+
) {
282+
throw new Exception('Detected malicious path or filename input.');
283+
}
284+
279285
$file = realpath($file);
280286

281287
if (!$file || !file_exists($file)) {

lib/Varien/Io/File.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -486,10 +486,17 @@ public function read($filename, $dest = null)
486486
* @param int $mode
487487
*
488488
* @return int|boolean
489+
* @throws Exception
489490
*/
490491
public function write($filename, $src, $mode = null)
491492
{
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)) {
493500
return false;
494501
}
495502

0 commit comments

Comments
 (0)