ডার্টি পাইপ: একটি দুর্বলতা যা ডেটা ওভাররাইট করার অনুমতি দেয়

সম্প্রতি সেই খবরটি ভেঙে গেল লিনাক্স কার্নেলে একটি দুর্বলতা চিহ্নিত করা হয়েছে এবং যা ইতিমধ্যেই CVE-2022-0847 এর অধীনে তালিকাভুক্ত করা হয়েছে এবং যার নাম তারা দিয়েছে "নোংরা পাইপ".

এই দুর্বলতাটিকে "ডার্টি পাইপ" বলা হয়ক্যাশের বিষয়বস্তু ওভাররাইট করার অনুমতি দেয় যেকোন ফাইলের জন্য পৃষ্ঠার, যেগুলি শুধুমাত্র-পঠন-এ সেট করা, O_RDONLY পতাকা দিয়ে খোলা, অথবা মাউন্ট করা ফাইল সিস্টেমে শুধুমাত্র-পঠনযোগ্য।

ব্যবহারিক দিক থেকে, দুর্বলতা নির্বিচারে প্রক্রিয়ায় কোড ইনজেক্ট করতে ব্যবহার করা যেতে পারে অথবা খোলা ফাইলে দূষিত ডেটা। উদাহরণস্বরূপ, আপনি sshd প্রক্রিয়ার জন্য অনুমোদিত_কি ফাইলের বিষয়বস্তু পরিবর্তন করতে পারেন।

নোংরা পাইপ সম্পর্কে

এটি গুরুতর দুর্বলতা ডার্টি কাউ এর অনুরূপ 2016 সালে শনাক্ত করা হয়েছে এবং নোংরা পাইপ বিপদের পরিপ্রেক্ষিতে নোংরা গরুর মতো একই স্তরে রয়েছে বলে উল্লেখ করা হয়েছে, কিন্তু এই এক কাজ করা অনেক সহজ.

আর্কাইভের পর্যায়ক্রমিক ক্ষতি সম্পর্কে অভিযোগ বিশ্লেষণের সময় নোংরা পাইপ সনাক্ত করা হয়েছিল একটি সিস্টেমে নেটওয়ার্কের মাধ্যমে ডাউনলোড করা হয় যা একটি লগিং সার্ভার থেকে সংকুচিত ফাইলগুলি ডাউনলোড করে (লোড করা সিস্টেমে 37 মাসে 3 ক্ষতি), যা স্প্লাইস() অপারেশন এবং নামহীন পাইপ ব্যবহার করে প্রস্তুত করা হয়েছিল।

ক্ষতিগ্রস্থতা লিনাক্স কার্নেল সংস্করণ 5.8 থেকে উদ্ভাসিত হচ্ছে, আগস্ট 2020 এ মুক্তি পেয়েছে।

আরেকটি উপায় দেখেছি আমরা বলতে পারি যে এটি ডেবিয়ান 11-এ উপস্থিত কিন্তু এটি উবুন্টু 20.04 LTS-এর বেস কার্নেলকে প্রভাবিত করে না, যখন RHEL 8.x এবং openSUSE/SUSE 15 কার্নেলের জন্য যা মূলত পুরানো শাখাগুলির উপর ভিত্তি করে তৈরি, তবে এটি সম্ভব যে পরিবর্তনের কারণে সমস্যাটি তাদের কাছে স্থানান্তরিত হয়েছে (এখনও কোন সঠিক তথ্য নেই)।

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

আক্রমণের জন্য করা যেতে পারে, আপনার একটি টার্গেট ফাইল প্রয়োজন যা অবশ্যই পাঠযোগ্য হতে হবে এবং যেহেতু পাইপে লেখার সময় অ্যাক্সেসের অধিকার চেক করা হয় না, তাই পৃষ্ঠার ক্যাশে একটি প্রতিস্থাপন করা যেতে পারে, এমনকি শুধুমাত্র পঠনযোগ্য পার্টিশনে অবস্থিত ফাইলগুলির জন্য (উদাহরণস্বরূপ, c CD-ROM ফাইলগুলির জন্য)।

এটির সাথে, পৃষ্ঠার ক্যাশে তথ্য প্রতিস্থাপন করার পরে, প্রক্রিয়াটি, ফাইল থেকে ডেটা পড়ার সময়, আসল ডেটা পাবে না, তবে প্রতিস্থাপিতগুলি।

এটি উল্লেখ করা হয় ডার্টি পাইপ অপারেশনটি একটি নামহীন পাইপ তৈরি করে এবং এটিকে নির্বিচারে ডেটা দিয়ে পূরণ করে এটির সাথে যুক্ত সমস্ত রিং কাঠামোতে PIPE_BUF_FLAG_CAN_MERGE পতাকা সেট করতে।

তারপরে পাইপ থেকে ডেটা পড়া হয়, কিন্তু পাইপ_ইনোড_ইনফো রিং স্ট্রাকচারে পাইপ_বাফার কাঠামোর সমস্ত দৃষ্টান্তে পতাকাটি সেট করা থাকে। প্রয়োজনীয় অফসেট থেকে শুরু করে একটি নামহীন পাইপে গন্তব্য ফাইল থেকে ডেটা পড়ার জন্য তারপর splice()-এ একটি কল করা হয়। এই নামহীন পাইপে ডেটা লেখার সময়, PIPE_BUF_FLAG_CAN_MERGE পতাকা পাইপ_বাফার কাঠামোর একটি নতুন উদাহরণ তৈরি করার পরিবর্তে পৃষ্ঠা ক্যাশে ডেটা ওভাররাইট করবে।

পরিশেষে আপনি যদি এটি সম্পর্কে আরও জানতে আগ্রহী হন, আপনি মূল নোটে বিস্তারিত চেক করতে পারেন নীচের লিঙ্কে।

এছাড়াও, আপনি যদি আগ্রহী হন আপডেটের প্রকাশনা সম্পর্কে জানতে বা অনুসরণ করতে সক্ষম হবেন প্রধান বিতরণে প্যাকেজগুলির, আপনি এই পৃষ্ঠাগুলি থেকে এটি করতে পারেন: ডেবিয়ানSUSEউবুন্টুRHELফেডোরাজেন্টুআর্চ লিনাক্স।

এটি উল্লেখ করা হয়েছে যে প্রস্তাবিত দুর্বলতা ফিক্সটি লিনাক্স কার্নেল সংস্করণ 5.16.11, 5.15.25 এবং 5.10.102 এ উপলব্ধ এবং ফিক্সটি অ্যান্ড্রয়েড প্ল্যাটফর্মে ব্যবহৃত কার্নেলের মধ্যেও অন্তর্ভুক্ত রয়েছে।


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়ী: AB ইন্টারনেট নেটওয়ার্ক 2008 SL
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।