সিকিউরিটিপ্যাচ 9652: SUPEE-9652 প্রয়োগের পরে সম্ভাব্য সমস্যা


16

ম্যাজেন্টো তার সিকিউরিটি প্যাচ প্রকাশ করেছে SUPEE-9652, ম্যাজেন্টো 1.x সিই এবং ইই এর জন্য

আমি কেবল জানতে চাই যে এই সুরক্ষা প্যাচটি প্রয়োগ করার পরে সম্ভাব্য সমস্যাগুলি কী এবং এই সুরক্ষা প্যাচে নতুন পরিবর্তনগুলি কী কী?

উত্তর:


25

এটি একটি অতি ক্ষুদ্র প্যাচ, এখানে ভিন্নতা রয়েছে:

diff --git lib/Zend/Mail/Transport/Sendmail.php lib/Zend/Mail/Transport/Sendmail.php
index b24026b..9323f58 100644
--- lib/Zend/Mail/Transport/Sendmail.php
+++ lib/Zend/Mail/Transport/Sendmail.php
@@ -119,14 +119,19 @@ class Zend_Mail_Transport_Sendmail extends Zend_Mail_Transport_Abstract
                 );
             }

-            set_error_handler(array($this, '_handleMailErrors'));
-            $result = mail(
-                $this->recipients,
-                $this->_mail->getSubject(),
-                $this->body,
-                $this->header,
-                $this->parameters);
-            restore_error_handler();
+            // Sanitize the From header
+            if (!Zend_Validate::is(str_replace(' ', '', $this->parameters), 'EmailAddress')) {
+                throw new Zend_Mail_Transport_Exception('Potential code injection in From header');
+            } else {
+                set_error_handler(array($this, '_handleMailErrors'));
+                $result = mail(
+                    $this->recipients,
+                    $this->_mail->getSubject(),
+                    $this->body,
+                    $this->header,
+                    $this->parameters);
+                restore_error_handler();
+            }
         }

         if ($this->_errstr !== null || !$result) {

তবে, পিটার ও'ক্যালাহান (একমাত্র এবং কেবলমাত্র) একটি বাগ খুঁজে পেয়েছে বলে মনে হচ্ছে। তিনি আলতো করে আমার সাথে বিশদগুলি ভাগ করে নিলেন এবং বলেছিলেন যে আমি এটি এখানে আপনার সাথে ভাগ করে নিতে পারি তাই এখানে এটি রয়েছে :

সেরা আমি বলতে পারি যে মূল্যটি $this->paramsসর্বদা প্রিফিক্স করা -fহবে সেই বিন্দুটিতে যাচাইকরণ যুক্ত করা হয়েছে (এটি বিন্দুতে ফিরে যাওয়ার পথটি যুক্ত হওয়ার পরে কনস্ট্রাক্টরের কাছে দেওয়া হয়েছে)। অতএব এটি বৈধকরণে পৌঁছেছে, আমি যদি আমার ই-মেইলটি কনফিগার করে থাকি contact@me.comতবে যে মানটি আসলে যাচাই করা হচ্ছে -fcontact@me.comতা হ'ল এটি কোনও ইমেল ঠিকানা হিসাবে বৈধ হওয়ার জন্য এমন অভিপ্রায়ের চেয়ে বেশি প্রবণতা বলে মনে হয়। আমার ই-মেইল ঠিকানা "example"@example.comযদিও থাকলে, এটি হয়ে যাবে -f"example"@example.com, যা বৈধ হবে না। ঘটনাচক্রে এ str_replaceবিষয়টি পুরোপুরি অপ্রয়োজনীয় বলে মনে হচ্ছে যে এএফআইকে কেবল একটি কোটের সাথে একত্রে একটি স্থান ব্যবহার করা যেতে পারে এবং উদ্ধৃতি সহ ইমেলগুলি বৈধ হবে না-fউপসর্গ। প্রকৃতপক্ষে এটি যদি উপসর্গটি না থাকার জন্য হয়, তবে str_replace এবং বৈধতা কার্যকর হবে না কারণ "foo bar"@example.comএবং "foobar"@example.comউভয়ই বৈধতাযোগ্য , যেহেতু প্রতিস্থাপনের পরে কোনওটি কখনই নির্ধারিত হয় না, ই-মেইলটি এখনও প্রাক্তন ব্যবহার করে প্রেরণ করা হত মান, যা সম্ভবত এখনও দুর্বল হবে।

মনে রাখতে হবে অন্য দুটি বিষয়:

  • প্যাচের সিই সংস্করণটিতে সংস্করণ হিসাবে তালিকাভুক্ত 'EE_1.14.3.1' রয়েছে। এটি প্রয়োগকে প্রভাবিত করে না, app/etc/applied.patches.listএটিতে ভুল সংস্করণ যুক্ত করে কিছুটা বিশ্রী মনে হয়। (উত্স: https://twitter.com/JohnHughes1984/status/829050203139358720 )
  • যতক্ষণ আপনি ইমেল সেটিংস অক্ষম করেছেন (যতক্ষণ না এখানে দেখুন: https://magento.com/security/news/new-zend-framework-1- সুরক্ষা-vulnerability), তবে এটির কোনও তাড়াহুড়া করার দরকার নেই এটি করুন কারণ যে কোনও নতুন প্যাচ এটি ইনস্টল করতে হবে (যেমন তারা একে অপরের শীর্ষে চলে যায়)।

সাইড নোট

ম্যাজেন্টো সিই এর সাথে সম্পর্কিত নতুন প্রকাশের সাথে 1.9.3.2 এ কপিরাইট মন্তব্য বছরের আপডেটও অন্তর্ভুক্ত করা হয়েছে (২০১ to থেকে ২০১ from পর্যন্ত) সুতরাং ম্যাজেন্টোর প্রায় প্রতিটি ফাইল আপডেট করা হয়েছে এবং ভিন্নতা দেখতে বিশাল দেখায়


2
"যতক্ষণ না আপনি ইমেল সেটিংস অক্ষম করেছেন" অ্যাডমিন প্যানেলের সাথিতে কোন সেটিংস এটি? আমার কফি না খেয়ে কেবল সিস-> কনফিগারেশনের মাধ্যমে আমাকে ডাইভিং বাঁচাতে :)
লূক

2
@ লুকরডার্স বিশদটির জন্য এই ব্লগ পোস্টটি উল্লেখ করুন: magento.com/ সুরক্ষা
রাফেল

1
"কপিরাইট মন্তব্য বছর আপডেট করুন (2016 থেকে 2017) যাতে প্রায় Magento প্রতিটি ফাইল আপডেট করা হয়েছে" হয় ডিজিটাল Pianism এ সত্য @Raphael
অমিত বেড়া

1
@ আইকনটি আপনি যদি প্যাচ ফাইলটির নামটি ইতিমধ্যে ভি 2 টি পরীক্ষা করেন তবে এটি সম্ভবত একটি ভি 3 নেই এখনও ইটিএ নেই
রাফেল

1
রেকর্ডের জন্য, এটি কোনও বৈধ ব্যবহার এবং আফাইককে (জমা দেওয়া পেইডটি না দেখে) প্রভাবিত করার পক্ষে অত্যন্ত সম্ভাবনা নেই, এটি সমস্ত ক্ষেত্রে শোষণকে আটকাতে পারে (যদিও এর আসল কারণটি হয় অনিচ্ছাকৃত মনে হয়, বা একটি অত্যন্ত বিজোড় পছন্দ)। এটি কেবলমাত্র এটি সমস্ত ই-মেইলগুলিকে অবরুদ্ধ করে যেখানে স্থানীয় অংশটি উদ্ধৃত হয়, যেমন "example"@example.comফর্ম ঠিকানাগুলি তারা প্রযুক্তিগতভাবে বিপজ্জনক কিনা তা বিবেচনা না করেই। এই ধরণের ই-মেইল ব্যবহার করে যদি কোনও বৈধ স্টোর থাকে তবে আমি বেশ অবাক হব, তবে ক্ষেত্রে তথ্যটি পেতে চাই।
পিটার ও'ক্যালাহান

8

আপগ্রেড করার জন্য ছোট্ট টিপ; আপনার বিদ্যমান git diff -w --stat=400 | grep -v " 2 +”ইনস্টলটিতে নতুন সংস্করণটি অনুলিপি করার পরে, কেবলমাত্র কপিরাইট নোটিশ পরিবর্তনের চেয়ে আরও বেশি পরিবর্তন রয়েছে এমন ডিফগুলি দেখতে দ্রুত চালান ।


4

সুরক্ষা প্যাচ 9652 কেবলমাত্র নিম্নলিখিত ফাইলটিকে প্রভাবিত করে:

/lib/Zend/Mail/Transport/Sendmail.php

1

আমার মতো যারা এসএসএইচ অ্যাক্সেস ছাড়াই কী করবেন তা অবাক করে: ফাইলটি সম্পাদনা করুন / লিবিব / জেন্ডার / মেইল ​​/ ট্রান্সপোর্ট / সেন্ডমেল.এফপি

122 লাইন থেকে, এটি প্রতিস্থাপন করুন:

        set_error_handler(array($this, '_handleMailErrors'));
        $result = mail(
            $this->recipients,
            $this->_mail->getSubject(),
            $this->body,
            $this->header,
            $this->parameters);
        restore_error_handler();

এর সাথে:

        // Sanitize the From header
        if (!Zend_Validate::is(str_replace(' ', '', $this->parameters), 'EmailAddress')) {
            throw new Zend_Mail_Transport_Exception('Potential code injection in From header');
        } else {
            set_error_handler(array($this, '_handleMailErrors'));
            $result = mail(
                $this->recipients,
                $this->_mail->getSubject(),
                $this->body,
                $this->header,
                $this->parameters);
            restore_error_handler();
        }

4
এইচএম, এসএসএইচ অ্যাক্সেসবিহীনদের জন্য। সম্ভবত আপনার স্থানীয়ভাবে প্যাচ করা উচিত এবং প্যাচযুক্ত ফাইলটি আপলোড করা উচিত। ;)
ইনফাবো

এসএসএইচ অ্যাক্সেস ছাড়াই প্যাচিংয়ের সম্পূর্ণ দিকনির্দেশনার জন্য, এই উত্তরটি এখানে দেখুন: magento.stackexchange.com/a/63936/3326
7ochem
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.