“✨ ১২ বছরের গল্প, ইতিহাস আর ঐতিহ্যের সঙ্গে কুষ্টিয়াশহর.কম”

Select your language

PHP2Shell — PHP-এর নিরাপত্তা দুর্বলতা, ঝুঁকি ও করণীয় (কুষ্টিয়াশহর.কম)
PHP2Shell — PHP-এর নিরাপত্তা দুর্বলতা, ঝুঁকি ও করণীয় (কুষ্টিয়াশহর.কম)
  • Sub Title: PHP2Shell তিন দুর্বলতার ঝুঁকি, সংশোধিত PHP সংস্করণ ও সাইট-মালিকদের করণীয়

ইন্টারনেটের মাধ্যমে ব্যাংকিং, ব্যবসা, সরকারি সেবা, সংবাদ প্রকাশনা ও ব্যক্তিগত যোগাযোগ—প্রায় প্রতিটি ক্ষেত্রেই ওয়েবসাইটের ভূমিকা গুরুত্বপূর্ণ। এসব ওয়েবসাইটের অনেকগুলো তৈরি হয়েছে PHP নামের একটি বহুল ব্যবহৃত সার্ভার-সাইড প্রোগ্রামিং ভাষা দিয়ে। কিন্তু এই প্রযুক্তির মূল ইঞ্জিনে গুরুতর নিরাপত্তা দুর্বলতা শনাক্ত হলে তার প্রভাব একটি ওয়েবসাইটের মধ্যে সীমাবদ্ধ থাকে না; ঝুঁকিতে পড়তে পারে অসংখ্য সার্ভার ও অনলাইন সেবা।

২০২৬ সালের ২১ অক্টোবর PHP প্রকল্পের পক্ষ থেকে দুটি গুরুতর নিরাপত্তা দুর্বলতার সমাধানসহ নতুন সংস্করণ প্রকাশ করা হয়। নিরাপত্তা গবেষকেরা এগুলোকে ‘PHP2Shell’ নামে উল্লেখ করেছেন। এরপর ২৩ অক্টোবরে প্রকল্পের একটি পরামর্শমূলক নির্দেশনায় সংশ্লিষ্ট তৃতীয় দুর্বলতা (CVE-2026-115560)-এর কথাও জানানো হয়। দুর্বলতাগুলো কাজে লাগানো সম্ভব হলে নির্দিষ্ট পরিস্থিতিতে আক্রমণকারী কোনো ব্যবহারকারীর অ্যাকাউন্টে প্রবেশ না করেই সার্ভারে ক্ষতিকর কোড চালাতে পারে।

বাংলাদেশেও বিষয়টি নিয়ে সতর্কতা জারি হয়েছে। ফলে ব্যাংক, সরকারি প্রতিষ্ঠান, ওয়েব হোস্টিং কোম্পানি, সফটওয়্যার ডেভেলপার এবং সাধারণ ওয়েবসাইট মালিকদের জন্য ঘটনাটি গুরুত্বপূর্ণ শিক্ষা হয়ে উঠেছে।

PHP কী এবং কেন এটি এত গুরুত্বপূর্ণ?

PHP একটি সার্ভার-সাইড প্রোগ্রামিং ভাষা। ব্যবহারকারী যখন কোনো ওয়েবসাইটে প্রবেশ করেন, তখন সার্ভারে PHP কোড চালিয়ে প্রয়োজন অনুযায়ী পেজ, তথ্য, অনুসন্ধানের ফলাফল কিংবা ডেটাবেজের সঙ্গে সংযুক্ত বিভিন্ন সেবা তৈরি করা যায়।

WordPress, Joomla, Drupal-এর মতো বহুল ব্যবহৃত কনটেন্ট ম্যানেজমেন্ট সিস্টেম এবং বিভিন্ন ই-কমার্স ও ওয়েব অ্যাপ্লিকেশনে PHP ব্যবহৃত হয়। এর ফলে PHP-এর মূল ইঞ্জিনে নিরাপত্তা সমস্যা দেখা দিলে শুধু একটি নির্দিষ্ট সফটওয়্যার নয়, বরং বিভিন্ন ধরনের ওয়েবসাইট ঝুঁকির মুখে পড়তে পারে।

তবে PHP ব্যবহার করে তৈরি সব ওয়েবসাইট একই মাত্রায় ঝুঁকিপূর্ণ নয়। সার্ভারের কনফিগারেশন, PHP-এর সংস্করণ, ব্যবহৃত সফটওয়্যার, নেটওয়ার্ক সুরক্ষা এবং নিরাপত্তা প্যাচ ইনস্টল করা হয়েছে কি না—এসব বিষয় ঝুঁকির মাত্রা নির্ধারণে ভূমিকা রাখে।

PHP2Shell কী এবং কেন এটি গুরুতর?

PHP2Shell হলো ২০২৬ সালের অক্টোবরে প্রকাশিত PHP-এর গুরুতর নিরাপত্তা দুর্বলতাগুলোকে বোঝাতে ব্যবহৃত নাম। এর মধ্যে রয়েছে:

  • CVE-2026-109618: মেমোরি ব্যবস্থাপনা ও Out-of-Memory পরিস্থিতি সামলানোর সময় সৃষ্ট দুর্বলতা।
  • CVE-2026-109619: মেমোরি মুক্ত করার পরও পুরোনো অভ্যন্তরীণ অবস্থা ব্যবহারের কারণে তৈরি দুর্বলতা।
  • CVE-2026-115560: সেশন আপলোড প্রগ্রেস (session upload progress) সংক্রান্ত দুর্বলতা, যার কথা ২৩ অক্টোবর ২০২৬-এ প্রকাশিত পরামর্শমূলক নির্দেশনায় জানানো হয়েছে; এর সম্পূর্ণ বিজ্ঞপ্তি পরবর্তী নিয়মিত রিলিজের সঙ্গে প্রকাশ হবে।

প্রথম সমস্যাটি ঘটতে পারে যখন PHP কোনো অনুরোধ প্রক্রিয়াকরণের সময় মেমোরির সীমায় পৌঁছে যায় এবং অভ্যন্তরীণ তথ্য সম্পূর্ণভাবে প্রস্তুত হওয়ার আগেই প্রক্রিয়া থেমে যায়। পরবর্তী পরিষ্কারকরণ প্রক্রিয়ায় সেই অসম্পূর্ণ তথ্য ভুলভাবে ব্যবহৃত হলে নিরাপত্তা ঝুঁকি তৈরি হতে পারে।

দ্বিতীয় সমস্যাটি সম্পর্কিত এমন অভ্যন্তরীণ তথ্যের সঙ্গে, যা ব্যবহারের জন্য বরাদ্দ করা মেমোরি মুক্ত হয়ে যাওয়ার পরও কোনো PHP worker-এ থেকে যেতে পারে। পরবর্তী অনুরোধ প্রক্রিয়াকরণের সময় ওই পুরোনো অবস্থা ভুলভাবে ব্যবহৃত হলে দুর্বলতা কাজে লাগানোর সুযোগ তৈরি হতে পারে।

তৃতীয় দুর্বলতাটি সেশন আপলোড প্রগ্রেস ফিচারের সঙ্গে সংশ্লিষ্ট। PHP প্রকল্পের নির্দেশনা অনুযায়ী, অ্যাপ্লিকেশন যদি কনফিগারেশনে session.serialize_handler সেটিং php_binary বা php_serialize-এ রেখে রানটাইমে ini_set() দিয়ে সেটিকে php-তে পরিবর্তন করে এবং আপলোড প্রগ্রেস চালু অবস্থায় সেশন শুরু করে, তখন দুর্বলতাটি কাজে লাগানোর সম্ভাবনা তৈরি হয়। এটি তুলনামূলক বিরল একটি পরিস্থিতি; তবু পরবর্তী নিয়মিত বাগফিক্স রিলিজের আগ পর্যন্ত সার্ভারে session.upload_progress.enabled=0 সেট করে রাখার পরামর্শ দেওয়া হয়েছে। এই একই সেটিং আগের দুর্বলতা CVE-2026-109619-এর আংশিক প্রশমক হিসেবেও উল্লিখিত—অর্থাৎ এটি এখন সবচেয়ে গুরুত্বপূর্ণ তাৎক্ষণিক প্রশমক।

এসব ত্রুটি কাজে লাগানো সম্ভব হলে আক্রমণকারী নির্দিষ্ট পরিবেশে দূর থেকে সার্ভারে নিজের পছন্দমতো কোড চালানোর সুযোগ পেতে পারে। সাইবার নিরাপত্তার ভাষায় একে Remote Code Execution বা RCE বলা হয়।

PHP প্রকল্পের প্রকাশিত তথ্য অনুযায়ী, ২১ অক্টোবরে সংশোধিত দুটি দুর্বলতাই গুরুতর—সিভিএসএস (v4.0) স্কোর ৯.২—এবং সংশ্লিষ্ট নিরাপত্তা সংশোধন দ্রুত ইনস্টল করা প্রয়োজন। ঝুঁকিটি PHP-FPM, Apache-এর mod_php, php-cgi কিংবা LiteSpeed—যেকোনো ধরনের পরিবেশেই প্রযোজ্য। তবে সবচেয়ে বেশি সতর্ক থাকা প্রয়োজন mod_php-তে, যেখানে অ্যাপ্লিকেশন কোড চালু হওয়ার আগেই প্রমাণীকরণ ছাড়া করা একটি অনুরোধ দিয়ে আক্রমণের পথ কাজে লাগানো সম্ভব হয়েছে বলে জানানো হয়েছে।

ব্যাংকের ওয়েবসাইট কেন বন্ধ রাখা হতে পারে?

ব্যাংকের ওয়েবসাইট সাময়িকভাবে বন্ধ রাখা হলে তার পেছনে একাধিক কারণ থাকতে পারে। যেমন:

  1. সম্ভাব্য সাইবার আক্রমণের ঝুঁকি কমানো।
  2. সার্ভারে নিরাপত্তা আপডেট ইনস্টল করা।
  3. ওয়েবসাইট ও সংশ্লিষ্ট সিস্টেমের দুর্বলতা পরীক্ষা করা।
  4. নিরাপত্তা পর্যবেক্ষণ এবং সন্দেহজনক কার্যকলাপ শনাক্ত করা।
  5. সার্ভারের নিরাপত্তা নিশ্চিত না হওয়া পর্যন্ত জনসাধারণের প্রবেশ সীমিত রাখা।

বাংলাদেশে PHP2Shell নিয়ে উচ্চমাত্রার সতর্কতা জারি হওয়ার পর কয়েকটি ব্যাংকের ওয়েবসাইট সাময়িকভাবে বন্ধ থাকার খবর সংবাদমাধ্যমে প্রকাশিত হয়েছে। তবে কোনো ব্যাংক তার ওয়েবসাইট বন্ধ রেখেছে বলেই সেখানে সফল সাইবার হামলা হয়েছে, গ্রাহকের তথ্য চুরি হয়েছে অথবা ব্যাংকের অর্থ ক্ষতিগ্রস্ত হয়েছে—এমন সিদ্ধান্তে পৌঁছানো যাবে না।

ওয়েবসাইট বন্ধ রাখা একটি সতর্কতামূলক ব্যবস্থা হতে পারে। আবার সব ব্যাংকের ক্ষেত্রে একই কারণ কার্যকর ছিল কি না, সেটিও পৃথকভাবে যাচাই করা প্রয়োজন।

এখানে আরেকটি গুরুত্বপূর্ণ পার্থক্য রয়েছে: ব্যাংকের প্রকাশ্য ওয়েবসাইট বন্ধ থাকা মানেই ব্যাংকের মূল ব্যাংকিং ব্যবস্থা, এটিএম, কার্ড লেনদেন কিংবা ইন্টারনেট ব্যাংকিংও বন্ধ—এমন নয়। প্রতিটি সেবার অবস্থা সংশ্লিষ্ট ব্যাংকের আনুষ্ঠানিক ঘোষণার ভিত্তিতে যাচাই করা উচিত।

PHP-এর কোন সংস্করণগুলো ঝুঁকিতে ছিল?

PHP প্রকল্প ২১ অক্টোবর ২০২৬ তারিখে নিরাপত্তা সংশোধনসহ কয়েকটি সংস্করণ প্রকাশ করে।

PHP শাখানিরাপত্তা সংশোধিত সংস্করণ
PHP 8.5 8.5.12
PHP 8.4 8.4.27
PHP 8.3 8.3.36
PHP 8.2 8.2.35

উল্লিখিত সংশোধিত সংস্করণগুলোর আগের সংস্করণগুলো এই দুর্বলতাগুলোর জন্য ঝুঁকিপূর্ণ হতে পারে। পুরোনো PHP শাখার ক্ষেত্রে সংশ্লিষ্ট অপারেটিং সিস্টেম বা হোস্টিং সরবরাহকারী আলাদাভাবে নিরাপত্তা প্যাচ দিয়েছে কি না, তা যাচাই করতে হবে। PHP 7.4, 8.0 ও 8.1-এর জন্য ন্যূনতম সোর্স-স্তরের ব্যাকপোর্ট GitHub-এ দেওয়া হয়েছে বলে প্রকল্পের নির্দেশনায় উল্লেখ রয়েছে।

২৩ অক্টোবরের নির্দেশনায় জানানো তৃতীয় দুর্বলতার (CVE-2026-115560) স্থায়ী সংশোধন উপরের সংস্করণগুলোতে এখনো অন্তর্ভুক্ত নয়; তা আসবে পরবর্তী নিয়মিত রিলিজের সঙ্গে। এর আগ পর্যন্ত php.ini বা PHP-FPM কনফিগে session.upload_progress.enabled=0 সেট করে রাখাই নিরাপদ। এর সঙ্গে আরেকটি বিষয়ও মনে রাখা জরুরি: হোস্টিং সরবরাহকারী ও নিরাপত্তা গবেষকদের বিশ্লেষণে উঠে এসেছে, সংশোধন প্রকাশের আগেই আক্রমণ-কোড প্রকাশ্যে ছড়িয়ে পড়ার উদ্বেগ ছিল—তাই সংশোধিত সংস্করণে আপডেট পিছিয়ে রাখা ঝুঁকিপূর্ণ।

এখানে একটি বিষয় বিশেষভাবে মনে রাখা জরুরি: শুধু PHP-এর বড় সংস্করণ নম্বর জানা যথেষ্ট নয়। উদাহরণস্বরূপ, কেউ যদি বলেন তাঁর ওয়েবসাইটে PHP 8.3 চলছে, তাহলে সেটি 8.3.20 নাকি 8.3.36—তা জানা প্রয়োজন। এই দুই সংস্করণের নিরাপত্তা অবস্থা এক নয়।

একইভাবে, phpMyAdmin-এ প্রদর্শিত PHP সংস্করণ এবং মূল ওয়েবসাইটের অনুরোধ প্রক্রিয়াকরণে ব্যবহৃত PHP সংস্করণ আলাদা হতে পারে। তাই সাইটের প্রকৃত runtime যাচাই করা প্রয়োজন।

আরও মনে রাখতে হবে, PHP 8.2 শাখার নিরাপত্তা-সমর্থন ৩১ ডিসেম্বর ২০২৬-এ শেষ হচ্ছে, আর PHP 8.1 ও তার আগের শাখা ইতোমধ্যে অসমর্থিত। দীর্ঘমেয়াদে সমর্থিত PHP শাখায় স্থানান্তরের পরিকল্পনা রাখা উচিত।

Joomla ও WordPress ব্যবহারকারীদের করণীয়

PHP-এর নিরাপত্তা দুর্বলতা থেকে সুরক্ষিত থাকতে শুধু CMS আপডেট করলেই হবে না। সার্ভারের PHP runtime-ও নিরাপদ রাখতে হবে।

১. PHP-এর সঠিক সংস্করণ যাচাই করুন

হোস্টিংয়ের cPanel, MultiPHP Manager অথবা সংশ্লিষ্ট PHP Selector থেকে ওয়েবসাইটের সংস্করণ দেখুন। প্রয়োজনে হোস্টিং সাপোর্টকে জিজ্ঞাসা করুন, ওয়েবসাইটের জন্য কোন PHP runtime ব্যবহৃত হচ্ছে এবং সেটিতে নিরাপত্তা প্যাচ ইনস্টল করা হয়েছে কি না।

২. নিরাপত্তা প্যাচ ইনস্টল করুন

সমর্থিত ও সংশোধিত PHP সংস্করণ ব্যবহার করুন। তবে PHP সংস্করণ পরিবর্তনের আগে Joomla, WordPress, থিম, প্লাগইন ও অন্যান্য এক্সটেনশনের সামঞ্জস্য যাচাই করতে হবে।

৩. ব্যাকআপ রাখুন

PHP আপডেটের আগে ফাইল ও ডেটাবেজের পূর্ণ ব্যাকআপ নিন। সম্ভব হলে staging environment-এ পরীক্ষা করে তারপর মূল সাইটে পরিবর্তন করুন।

৪. এক্সটেনশন ও টেমপ্লেট আপডেট রাখুন

পুরোনো বা পরিত্যক্ত এক্সটেনশন ওয়েবসাইটের নিরাপত্তা দুর্বল করতে পারে। অপ্রয়োজনীয় এক্সটেনশন সরিয়ে ফেলুন এবং ব্যবহৃত সফটওয়্যারের নিরাপত্তা আপডেট নিয়মিত ইনস্টল করুন।

৫. সার্ভারের লগ পরীক্ষা করুন

সন্দেহজনক অনুরোধ, অস্বাভাবিক ফাইল পরিবর্তন, অচেনা অ্যাডমিন অ্যাকাউন্ট কিংবা অস্বাভাবিক সার্ভার কার্যকলাপ দেখা গেলে তা গুরুত্বসহকারে পরীক্ষা করুন। নিরাপত্তা প্যাচ ইনস্টল করলেই অতীতে কোনো অনুপ্রবেশ ঘটেছিল কি না, তা স্বয়ংক্রিয়ভাবে জানা যায় না।

৬. হোস্টিং কোম্পানির সঙ্গে যোগাযোগ করুন

শেয়ার্ড হোস্টিং ব্যবহারকারীরা অনেক সময় নিজেরা PHP-এর সার্ভার-স্তরের সব নিরাপত্তা ব্যবস্থা নিয়ন্ত্রণ করতে পারেন না। সে ক্ষেত্রে হোস্টিং কোম্পানির কাছ থেকে প্যাচের অবস্থা এবং প্রয়োজনীয় অতিরিক্ত ব্যবস্থা সম্পর্কে নিশ্চিত হওয়া উচিত।

PHP আপডেট করলে ওয়েবসাইটে সমস্যা হতে পারে কেন?

নিরাপত্তা আপডেট গুরুত্বপূর্ণ হলেও নতুন PHP সংস্করণে গেলে কিছু পুরোনো ওয়েবসাইটে ত্রুটি দেখা দিতে পারে। কারণ, কোনো থিম, প্লাগইন বা কাস্টম কোড নতুন সংস্করণের সঙ্গে সামঞ্জস্যপূর্ণ নাও হতে পারে। আবার PHP extension বা সার্ভার কনফিগারেশনের পার্থক্যও সমস্যার কারণ হতে পারে।

যেমন, PHP 8.3 থেকে 8.4-এ যাওয়ার পর কোনো Joomla সাইটে Internal Server Error বা Fatal Error দেখা দিলে সেটি সবসময় PHP-এর নিরাপত্তা আপডেটের ত্রুটি বোঝায় না। বরং ব্যবহৃত এক্সটেনশন, টেমপ্লেট, কাস্টম কোড এবং সার্ভারের error log পরীক্ষা করা প্রয়োজন।

এ ধরনের পরিস্থিতিতে সাময়িকভাবে আগের সংস্করণে ফিরে গিয়ে সাইট সচল রাখা যেতে পারে। কিন্তু আগের সংস্করণটি সংশোধিত নিরাপত্তা সংস্করণ কি না, তা নিশ্চিত করা জরুরি। সামঞ্জস্যের সমস্যা সমাধানের পাশাপাশি নিরাপত্তা প্যাচ ইনস্টল করার পরিকল্পনাও করতে হবে।

ওয়েবসাইটের নিরাপত্তা শুধু PHP-এর ওপর নির্ভর করে না

একটি ওয়েবসাইটের নিরাপত্তা কয়েকটি স্তরের ওপর নির্ভরশীল। PHP-এর পাশাপাশি অপারেটিং সিস্টেম, ওয়েব সার্ভার, ডেটাবেজ, CMS, এক্সটেনশন, অ্যাডমিন অ্যাকাউন্ট এবং নেটওয়ার্ক কনফিগারেশন গুরুত্বপূর্ণ।

শক্তিশালী পাসওয়ার্ড, দ্বি-ধাপ যাচাইকরণ, নিয়মিত ব্যাকআপ, সীমিত অ্যাক্সেস, নিরাপদ ফাইল পারমিশন এবং লগ পর্যবেক্ষণ—সবই নিরাপত্তা ব্যবস্থার অংশ। ওয়েব অ্যাপ্লিকেশন ফায়ারওয়াল ও অন্যান্য প্রতিরক্ষামূলক ব্যবস্থা ঝুঁকি কমাতে পারে, তবে PHP-এর মূল দুর্বলতার সংশোধিত সংস্করণ ইনস্টল করার বিকল্প নয়।

এ কারণে ওয়েবসাইটের নিরাপত্তাকে একবারের কাজ হিসেবে না দেখে নিয়মিত রক্ষণাবেক্ষণ ও পর্যবেক্ষণের অংশ হিসেবে বিবেচনা করা উচিত।

উপসংহার

PHP2Shell-এর মতো গুরুতর নিরাপত্তা দুর্বলতা আমাদের মনে করিয়ে দেয়, ইন্টারনেটের অবকাঠামোর একটি ছোট অংশে ত্রুটি দেখা দিলেও তার প্রভাব বহু ওয়েবসাইট ও অনলাইন সেবায় ছড়িয়ে পড়তে পারে। ব্যাংক ও গুরুত্বপূর্ণ প্রতিষ্ঠানের ক্ষেত্রে সতর্কতামূলক ব্যবস্থা নেওয়া যেমন প্রয়োজন, তেমনি সাধারণ ওয়েবসাইট মালিকদেরও সার্ভার ও সফটওয়্যারের নিরাপত্তাকে গুরুত্ব দিতে হবে।

তবে আতঙ্কিত হওয়ার পরিবর্তে সঠিক তথ্য যাচাই, সংশোধিত PHP সংস্করণ ব্যবহার, নিয়মিত ব্যাকআপ এবং সার্ভার পর্যবেক্ষণের ওপর গুরুত্ব দেওয়া উচিত। একটি ওয়েবসাইট সচল রাখা যেমন গুরুত্বপূর্ণ, তেমনি সেটিকে নিরাপদ রাখা আরও বড় দায়িত্ব।

নিরাপদ ওয়েব অবকাঠামো গড়ে তুলতে ডেভেলপার, হোস্টিং সরবরাহকারী, প্রতিষ্ঠান এবং ওয়েবসাইট মালিক—সবার সমন্বিত উদ্যোগ প্রয়োজন।

তথ্যসূত্র

  1. PHP Official Security Advisory (২১ অক্টোবর ২০২৬) — Critical remote code execution vulnerabilities, update now
  2. PHP Project Informational Advisory (২৩ অক্টোবর ২০২৬) — Session upload progress
  3. BGD e-GOV CIRT — PHP2Shell: Critical Unauthenticated Remote Code Execution Vulnerabilities in PHP
  4. CERT-EU — Critical Vulnerabilities in PHP
  5. Hostinger — Protecting PHP from PHP2Shell
  6. The Daily Star ও অন্যান্য বাংলাদেশি সংবাদমাধ্যমে প্রকাশিত PHP নিরাপত্তা সতর্কতা ও ব্যাংকের ওয়েবসাইটসংক্রান্ত প্রতিবেদন।
Add comment
কোন প্রকার অশ্লীল কমেন্ট করা যাবে না, করলে আইনগত ব্যবস্থা নেওয়া হবে।

প্রযুক্তি এর নতুন প্রবন্ধ

Lifestyles in contrast
Lifestyles in contrast

বাংলাদেশে মোবাইল গেমিং-এর প্রভাব: তরুণ প্রজন্ম এগোচ্ছে, নাকি পিছিয়ে পড়ছে?

  • Sub Title: বাংলাদেশে মোবাইল গেমিং-এর প্রভাব | তরুণ সমাজের উন্নয়ন নাকি ক্ষতি?

সর্বশেষ পেতে সাবস্ক্রাইব করুন

তথ্য সম্পর্কে খবর

আমাদের নিউজলেটার সাবস্ক্রাইব করুন এবং আপডেট থাকুন