چرا دولت‌ها برای مقابله با دو باگ خطرناک، سایت‌های خودشان را خاموش کردند؟

1 ساعت پیش
0 بازدید
چرا دولت‌ها برای مقابله با دو باگ خطرناک، سایت‌های خودشان را خاموش کردند؟

کشف دو نقص امنیتی بحرانی با نام PHP2Shell در موتور PHP، باعث شد سازمان ها و وب سایت ها برای پیشگیری از نفوذ، برخی خدمات دیجیتال خود را خاموش کنند.

خاموشی های پیشگیرانه در هلند

چهارشنبه ۲۱ اکتبر ۲۰۲۶، وب سایت مرکز ملی امنیت سایبری هلند از دسترس خارج شد و هم زمان، پرتال خدمات دولتی MijnOverheid و وب سایت مجلس نمایندگان هلند نیز خاموش شدند؛ اما مهاجمان، این وب سایت ها را از کار نینداخته بودند؛ خود مدیران تصمیم گرفتند دسترسی را قطع کنند.

ریشه ی خاموشی ها

ریشه ی خاموشی های پیشگیرانه ی هلند به دو آسیب پذیری خطرناک در PHP برمی گشت؛ زبان برنامه نویسی پرکاربردی که بخش بزرگی از وب بر پایه ی آن کار می کند. نقص ها به مهاجمان اجازه می دادند در شرایط مشخص، بدون نیاز به حساب کاربری، روی سرورهای آسیب پذیر دستور اجرا کنند. خطر به قدری جدی بود که در یکی از مسیرهای اثبات شده، حمله حتی پیش از اجرای کد وب سایت آغاز می شد. دولت هلند ترجیح داد تا زمان نصب اصلاحیه های امنیتی، بعضی خدمات را از دسترس خارج کند.

دو آسیب پذیری با شناسه های CVE-2026-109618 و CVE-2026-109619

دو آسیب پذیری با شناسه های CVE-2026-109618 و CVE-2026-109619 که با نام مشترک PHP2Shell شناخته می شوند، در معیار شدت آسیب پذیری امتیاز ۹٫۲ از ۱۰ گرفته اند؛ اما داستان PHP2Shell از اکتبر ۲۰۲۶ آغاز نشده بود. با ما همراه باشید تا ببینیم چطور خطایی در موتور یک زبان، به تعطیلی موقت خدمات دولتی در دست کم ۱۲ کشور منجر شد؛ از درگاه های شهروندی هلند و ۳۲ خدمت دولتی بریتانیا گرفته تا وب سایت ریاست جمهوری آفریقای جنوبی.

PHP کجای زندگی دیجیتال ماست؟

خاموشی چند سرویس دولتی در هلند فقط یکی از پیامدهای بحرانی بود که می توانست بخش بزرگی از وب را تحت تأثیر قرار دهد. بسیاری از وب سایت ها در پشت صحنه از زبان PHP استفاده می کنند؛ مثلاً وردپرس، دروپال، جوملا و مدیاویکی، نرم افزاری که ویکی پدیا را اداره می کند، همگی با PHP ساخته شده اند. طبق آمار W3Techs در ۲۲ اکتبر ۲۰۲۶، حدود ۶۹٫۳ درصد از وب سایت هایی که زبان برنامه نویسی سمت سرورشان شناسایی شده بود، از PHP استفاده می کردند.

چرا دولت ها برای مقابله با دو باگ خطرناک، سایت های خودشان را خاموش کردند؟ - تصویر 1
چرا دولت ها برای مقابله با دو باگ خطرناک، سایت های خودشان را خاموش کردند؟ - تصویر 3

ریشه ی هر دو آسیب پذیری

ریشه ی هر دو آسیب پذیری به این واقعیت برمی گردد که یک آشپز چند سفارش را پشت سرهم انجام می دهد؛ زیرا اگر چیزی از سفارش قبلی روی میز جا بماند، ممکن است به سفارش بعدی راه پیدا کند. هر دو ضعف را می توان هم خانواده دانست؛ زیرا هر دو خطاهای مربوط به مدیریت حافظه اند؛ به ویژه زمانی که حافظه در میانه ی کار تمام می شود.

آسیب پذیری اول: خانه ی نیمه ساخته

وقتی مرورگر اطلاعات یک فرم وب را با درخواست POST می فرستد، PHP نام و مقدار فیلدها را پیش از اجرای کد برنامه می خواند و در جدولی داخلی به نام $_POST می گذارد. این جدول در موتور، خانه ها و شمارنده هایی دارد. پژوهشگران Datadog متوجه شدند در یکی از مسیرهای افزودن اطلاعات به جدول، PHP ابتدا شمارنده ی خانه های استفاده شده را بالا می برد، سپس حافظه ی لازم برای نام فیلد جدید را اختصاص می دهد. اگر درست در فاصله ی این دو عملیات، حافظه تمام شود، شمارنده به خانه ای اشاره می کند که هنوز ساخته نشده است.

آسیب پذیری دوم: اطلاعاتی که نباید باقی می ماندند

ضعف دوم به اتفاقی مربوط می شد که میان دو درخواست رخ می داد. یک پروسه ی کارگر PHP می تواند در طول فعالیت خود درخواست های متعددی را پردازش کند. اطلاعات هر درخواست باید در پایان کار آزاد شوند و وضعیت داخلی پروسه برای درخواست بعدی به درستی آماده شود؛ اما گاهی یک خطای مهلک، فرایند را نیمه تمام می گذاشت و حافظه ی متعلق به درخواست قبلی آزاد می شد؛ ولی بعضی اشاره گرها، یعنی نشانی هایی که PHP برای پیداکردن اطلاعات در حافظه استفاده می کند، همچنان باقی می ماندند.

n

منبع: زومیت

دیدگاه خود را بنویسید

پست الکترونیکی نمایش داده نمی‌شود.

دیدگاه‌های کاربران

0 دیدگاه

اولین نفری باشید که تجربه‌اش را می‌نویسد.

انتخاب

گزارش دیدگاه

استیکر کابوی
دلیل گزارش