Minglab PHP kutubxonalari va CMS plaginlari ataylab SSL sertifikatini tekshirishni o’chirib qo’yadi.

Minglab PHP kutubxonalari va CMS plaginlari ataylab SSL sertifikatini tekshirishni o’chirib qo’yadi.

Minglab PHP kutubxonalari va CMS plaginlari ataylab SSL sertifikatini tekshirishni o'chirib qo'yadi.

Muammoning manbai ko’plab plaginlar va PHP kutubxonasi ishlab chiquvchilari o’z kodlarini, xususan, ba’zi cURL parametrlarini sozlash usulida.

Yuz minglab kontentni boshqarish tizimi (CMS) plaginlari va PHP kutubxonalari ataylab SSL/TLS sertifikatini tekshirishni o’chirib qo’yadi va shu bilan millionlab foydalanuvchilarni xavf ostiga qo’yadi. Vaziyatni yanada og’irlashtiradigan narsa shundaki, ushbu plaginlar va kutubxonalarning aksariyati to’lov xizmati serverlariga ulanishlarni o’rnatish uchun ishlatiladi va keyinchalik ular maxfiy moliyaviy ma’lumotlarni uzatish uchun ishlatiladi. Muammoning manbai ko’plab CMS plaginlari va PHP kutubxonasi ishlab chiquvchilari o’z kodlarini, xususan, turli protokollar orqali fayllarni uzatish uchun ishlatiladigan buyruq satri yordamchi dasturi cURL uchun ma’lum variantlarni sozlash usulida. Ko’pgina ilovalar har bir ulanish uchun brauzer sessiyalarini yaratish o’rniga, konsol orqali masofaviy serverlarga ma’lumotlarni yuklab olish, yuborish va yuklash uchun cURLdan foydalanadilar.

Mutaxassis Skott Arsiszevskiyning so’zlariga ko’ra, muammo shundaki, ko’plab ishlab chiquvchilar mijoz serverlarida xavfsizlik xatolari haqida ogohlantirishlarni ishga tushirishlari mumkinligi sababli ikkita cURL xususiyatini o’chirib qo’yishadi. Bular «CURLOPT_SSL_VERIFYHOST» va «CURLOPT_SSL_VERIFYPEER» xususiyatlari. Birinchi variantni o’chirib qo’yish cURLning ma’lumotlarni yuklab olish yoki yuklash uchun ulangan xostning URL manzilini tekshirishiga to’sqinlik qiladi. Ikkinchi variantni o’chirib qo’yish veb-sayt o’z-o’zidan imzolangan sertifikatdan foydalansa ham, har qanday HTTPS serveriga ulanishlarni qabul qilishini anglatadi.

GitHub’dagi yuzaki qidiruv shuni ko‘rsatadiki, yuzlab WordPress plaginlari kabi yuz minglab loyihalarda bitta yoki ikkala funksiya ham o‘chirib qo‘yilgan.

Ishlab chiquvchilarning ushbu funksiyalarni o’chirib qo’yishiga sabab bo’ladigan xatolar ko’plab xosting xizmatlari cURL tomonidan tekshirish uchun ishlatiladigan ma’lum va haqiqiy SSL/TLS sertifikatlari ro’yxatini saqlamasligi yoki uni serverning turli joylarida saqlashi bilan bog’liq. Bunday vaziyatda cURL sozlamalarini barcha serverlarga mos ravishda universal tarzda sozlashning iloji yo’q.

Artsizhevskiy muammoga yechimini Certainty deb nomlangan PHP kutubxonasini yaratish orqali taklif qildi, bu kutubxona cacert.pem faylini cURL bosh sahifasidan muntazam ravishda yuklab oladi va uni mahalliy saqlaydi.

O‘xshash maqolalar