Glibc 2.34 দুর্বলতা সংশোধন, লিনাক্সের জন্য নতুন ফাংশন এবং আরও অনেক কিছু নিয়ে আসে

সম্প্রতি Glibc 2.34-এর নতুন সংস্করণ প্রকাশের ঘোষণা করা হয়েছে। ছয় মাস ধরে উন্নয়নের পর এটি এসেছে এবং এতে বেশ কিছু গুরুত্বপূর্ণ পরিবর্তন অন্তর্ভুক্ত করা হয়েছে, যার মধ্যে সবচেয়ে উল্লেখযোগ্য হলো libpthread, libdl, libutil, ও libanl লাইব্রেরিগুলোর সংযোজন। এছাড়াও এতে বিভিন্ন বাগ সংশোধন করা হয়েছে, যার মধ্যে একটির কারণে ক্র্যাশ হচ্ছিল।

যারা Glibc-এর সাথে পরিচিত নন, তাদের জন্য বলছি, এটি একটি GNU C লাইব্রেরি, যা সাধারণত glibc নামেই পরিচিত এবং এটি GNU C ভাষার স্ট্যান্ডার্ড রানটাইম লাইব্রেরি। যেসব সিস্টেমে এটি ব্যবহৃত হয়, সেখানকার প্রায় সব প্রোগ্রামেই এই C লাইব্রেরিটি ব্যবহৃত হয়, যা সিস্টেম কল এবং অন্যান্য মৌলিক ফাংশন সরবরাহ ও সংজ্ঞায়িত করে।

Glibc 2.34 এর প্রধান নতুন বৈশিষ্ট্য

Glibc 2.34-এর এই নতুন সংস্করণে প্রধান লাইব্রেরি libpthread, libdl, libutil, এবং libanl-কে একীভূত করা হয়েছে ; অ্যাপ্লিকেশনগুলিতে এদের কার্যকারিতা ব্যবহারের জন্য এখন আর -lpthread, -ldl, -lutil, এবং -lanl নির্দেশকগুলির সাথে লিঙ্ক করার প্রয়োজন নেই।

এছাড়াও উল্লেখ করা হয়েছে যে, libc-এর সাথে libresolv-কে একীভূত করার প্রস্তুতি নেওয়া হয়েছে, যা glibc আপগ্রেড প্রক্রিয়াকে আরও মসৃণ করবে এবং রানটাইম বাস্তবায়নকে সরল করবে। glibc-এর পূর্ববর্তী সংস্করণ ব্যবহার করে নির্মিত অ্যাপ্লিকেশনগুলির সাথে সামঞ্জস্য রক্ষার জন্য স্টাব লাইব্রেরিও সরবরাহ করা হয়েছে।

Glibc 2.34-এ লিনাক্সের জন্য আনা পরিবর্তনগুলোর মধ্যে সবচেয়ে উল্লেখযোগ্য হলো, সেইসব কনফিগারেশনে ৬৪-বিট time_t টাইপ ব্যবহার করার ক্ষমতা যোগ করা হয়েছে, যেগুলোতে ঐতিহ্যগতভাবে ৩২-বিট time_t টাইপ ব্যবহৃত হতো । এই ফিচারটি শুধুমাত্র কার্নেল ভার্সন ৫.১ এবং তার উচ্চতর ভার্সনের সিস্টেমগুলোতে উপলব্ধ।

লিনাক্সের জন্য নির্দিষ্ট আরেকটি পরিবর্তন হলো `execveat` ফাংশনের বাস্তবায়ন , যা আপনাকে একটি খোলা ফাইল ডেসক্রিপ্টর থেকে একটি এক্সিকিউটেবল ফাইল চালানোর সুযোগ দেয় । এই নতুন ফাংশনটি `fexecve` কলের বাস্তবায়নেও ব্যবহৃত হয়, যার জন্য স্টার্টআপের সময় `/proc` সিউডো-ফাইলসিস্টেম মাউন্ট করার প্রয়োজন হয় না।

close_range() ফাংশনটিও যোগ করা হয়েছে, যা লিনাক্স সংস্করণ ৫.৯ এবং তার পরবর্তী সংস্করণগুলোতে উপলব্ধ এবং এটি ব্যবহার করে কোনো প্রসেস একবারে খোলা ফাইল ডেসক্রিপ্টরের সম্পূর্ণ পরিসর বন্ধ করতে পারে । এছাড়াও, glibc.pthread.stack_cache_size প্যারামিটারটি প্রয়োগ করা হয়েছে, যা pthread স্ট্যাক ক্যাশের আকার সমন্বয় করতে ব্যবহার করা যেতে পারে।

এছাড়াও, `_Fork` ফাংশনটি যোগ করা হয়েছে, যা `fork` ফাংশনের একটি প্রতিস্থাপন এবং "async-signal-safe" এর প্রয়োজনীয়তা পূরণ করে, অর্থাৎ এটিকে সিগন্যাল হ্যান্ডলার থেকে নিরাপদে কল করা যায়। `_Fork` কার্যকর হওয়ার সময় একটি ন্যূনতম পরিবেশ তৈরি হয়, যা `raise` এবং `execute` এর মতো সিগন্যাল হ্যান্ডলারের ফাংশনগুলোকে কল করার জন্য যথেষ্ট, এবং এটি এমন কোনো ফিচারকে সক্রিয় করে না যা লক বা অভ্যন্তরীণ অবস্থা পরিবর্তন করতে পারে।

Glibc 2.34 এ স্থির দুর্বলতার অংশের জন্য, নিম্নলিখিতগুলি উল্লেখ করা হয়েছে:

CVE-2021-27645: বিশেষভাবে তৈরি নেটওয়ার্ক গ্রুপ অনুরোধ প্রক্রিয়া করার সময় free ফাংশনটি দুইবার কল করার কারণে nscd প্রসেস (নেম সার্ভার ক্যাশিং ডেমন) ব্যর্থ হয়েছে।

CVE-2021-33574: এমন একটি থ্রেড অ্যাট্রিবিউটের জন্য যেখানে একটি বিকল্প সিপিইউ বাইন্ডিং মাস্ক সেট করা আছে, সেখানে SIGEV_THREAD নোটিফিকেশন টাইপ ব্যবহার করার সময় mq_notify ফাংশনে একটি ইউজ-আফটার-ফ্রি মেমরি এলাকায় অ্যাক্সেস। এই সমস্যাটির কারণে ক্র্যাশ হতে পারে, তবে অন্যান্য আক্রমণের সম্ভাবনাও উড়িয়ে দেওয়া যায় না।

CVE-2021-35942: wordexp ফাংশনে প্যারামিটারের আকার অতিরিক্ত বেড়ে গেলে অ্যাপ্লিকেশনটি ক্র্যাশ করতে পারে।

অন্যান্য উল্লেখযোগ্য পরিবর্তনগুলোর মধ্যে রয়েছে:

  • ISO C2X স্ট্যান্ডার্ডের খসড়ায় সংজ্ঞায়িত timespec_getres ফাংশন যোগ করা হয়েছে এবং POSIX clock_getres ফাংশনের অনুরূপ ক্ষমতা দিয়ে টাইমস্পেক_গেট ফাংশন বৃদ্ধি করা হয়েছে।
  • Gconv-modules ফাইলে, প্রধান gconv মডিউলগুলির একটি ন্যূনতম সেট রয়ে গেছে, এবং বাকিগুলি gconv-modules.d ডিরেক্টরিতে অবস্থিত একটি অতিরিক্ত gconv-modules-extra.conf ফাইলে স্থানান্তরিত হয়েছে।
  • গ্লিবক সংস্করণে ইনস্টলযোগ্য শেয়ার করা বস্তুগুলিকে সংযুক্ত করার জন্য প্রতীকী লিঙ্কগুলির ব্যবহার সরানো হয়েছে। এই বস্তুগুলি এখন যেমন ইনস্টল করা আছে (যেমন libc.so.6 এখন libc-2.34.so এর লিঙ্কের পরিবর্তে একটি ফাইল)।
  • লিনাক্সে, shm_open এবং sem_open এর মতো ফাংশনগুলির জন্য এখন / dev / shm মাউন্ট পয়েন্টে মাউন্ট করা শেয়ার্ড মেমরির জন্য একটি ফাইল সিস্টেম প্রয়োজন।

অবশেষে, আপনি যদি এই নতুন সংস্করণটি সম্পর্কে আরও জানতে আগ্রহী হন , তাহলে নিচের লিঙ্কে বিস্তারিত তথ্য পেয়ে যাবেন ।


Google-এ পছন্দের উৎস হিসেবে যোগ করুন