NGINX Rift (CVE-2026-42945): রিরাইট মডিউলে ১৮ বছরের পুরনো হিপ ওভারফ্লো
NGINX Rift (CVE-2026-42945, CVSS ৯.২): NGINX-এর রিরাইট মডিউলে একটি ক্রিটিক্যাল হিপ বাফার ওভারফ্লো, depthfirst-এর AI অ্যানালাইসিস সিস্টেম দ্বারা স্বায়ত্তভাবে আবিষ্কৃত। ২০০৮ সালে প্রবর্তিত এবং ১৮ বছরের NGINX রিলিজকে প্রভাবিত করে, এটি একটি অনঅথেনটিকেটেড আক্রমণকারীকে একটি একক কারুকৃত HTTP রিকোয়েস্টের মাধ্যমে RCE অর্জন করতে দেয়।
দুর্বলতা যা প্রকাশ্যে লুকিয়ে ছিল
১৩ মে, ২০২৬-এ, F5 এবং depthfirst যৌথভাবে CVE-2026-42945 প্রকাশ করেছে — NGINX-এর ngx_http_rewrite_module-এ একটি ক্রিটিক্যাল হিপ বাফার ওভারফ্লো। দুর্বলতাটি কোডবেসে ২০০৮ সাল থেকে ছিল, NGINX ০.৬.২৭-এ প্রবর্তিত, ১.৩০.০ পর্যন্ত প্রতিটি পরবর্তী সংস্করণকে প্রভাবিত করে।
এই আবিষ্কারকে বিশেষভাবে উল্লেখযোগ্য করে তোলে তা হলো এটি কীভাবে খুঁজে পাওয়া গেছে: একজন মানব গবেষক ম্যানুয়ালি কোড অডিট করার মাধ্যমে নয়, বরং depthfirst-এর স্বায়ত্তশাসিত দুর্বলতা বিশ্লেষণ সিস্টেমের মাধ্যমে। AI সিস্টেমটি NGINX সোর্স কোডের দিকে নির্দেশিত হয়েছিল এবং ছয় ঘণ্টার মধ্যে হিপ ওভারফ্লো ইস্যুটি চিহ্নিত করেছিল যা ১৮ বছর ধরে মানব শনাক্তকরণ এড়িয়ে গিয়েছিল।
টেকনিক্যাল ডিপ ডাইভ
টু-পাস ডিজাইন
NGINX যখন একটি rewrite বা set ডিরেক্টিভ ইভালুয়েট করে, এটি দুটি পাসে কাজ করে:
১. লেংথ পাস (ngx_http_script_len_code): ফাইনাল আউটপুট ধারণের জন্য প্রয়োজনীয় মোট বাফার সাইজ গণনা করে
২. কপি পাস (ngx_http_script_run): সেই সাইজের একটি বাফার অ্যালোকেট করে এবং প্রকৃত ডেটা লেখে
চুক্তিটি সহজ: পাস ১ বলে ঠিক কত বাইট অ্যালোকেট করতে হবে, পাস ২ ঠিক তত বাইট লেখে। যদি দুটি অসম্মত হয় — তুমি হিপ ওভারফ্লো পাও।
রুট কজ: পরিত্যক্ত is_args ফ্ল্যাগ
দুর্বলতাটি src/http/ngx_http_script.c-এ থাকে। যখন একটি rewrite ডিরেক্টিভের রিপ্লেসমেন্ট স্ট্রিংয়ে কোয়েশ্চেন মার্ক (?) থাকে, ফাংশন ngx_http_script_start_args_code স্ক্রিপ্ট ইঞ্জিনে একটি ফ্ল্যাগ সেট করে:
e->is_args = 1;সমস্যা: এই ফ্ল্যাগটি কখনও রিসেট করা হয় না।
এক্সপ্লয়টেশন
depthfirst-এর গবেষকরা NGINX-এর বিরুদ্ধে অনঅথেনটিকেটেড RCE প্রদর্শনকারী একটি ওয়ার্কিং প্রুফ-অফ-কনসেপ্ট তৈরি করেছেন। অসীম রিট্রাই বাজেট ASLR বাইপাসের জন্য বিশেষভাবে গুরুত্বপূর্ণ।
মিটিগেশন
| সংস্করণ | পদক্ষেপ |
|---|---|
| NGINX ওপেন সোর্স | ১.৩১.০ বা ১.৩০.১-এ আপগ্রেড করুন |
| NGINX Plus R36 | R36 P4 প্রয়োগ করুন |
বৃহত্তর প্রভাব: AI-আবিষ্কৃত দুর্বলতা
CVE-2026-42945 শুধু তীব্রতার জন্যই নয়, বরং কীভাবে আবিষ্কৃত হয়েছে তার জন্যও উল্লেখযোগ্য। একটি স্বায়ত্তশাসিত AI সিস্টেম একটি কোডবেসে বাগ খুঁজে পেয়েছে যা ১৮ বছর ধরে হাজার হাজার ইঞ্জিনিয়ার, নিরাপত্তা গবেষক এবং ওপেন সোর্স কন্ট্রিবিউটর দ্বারা অডিট করা হয়েছে — ছয় ঘণ্টায়।
AI সিস্টেম যা খুঁজে পেতে পারে এবং মানব পর্যালোচকরা ঐতিহাসিকভাবে কী ধরেছে তার মধ্যে ব্যবধান দ্রুত বাড়ছে।