سرورهای HTTP/2 ممکن است به دلیل تغییر همزمان و ناخواسته در رمزگذار (Encoder) HPACK دچار Crash شوند. این آسیبپذیری که با شناسه CVE-2026-97032 ثبت شده است، ریشه در عدم همگامسازی (Synchronization) در مدیریت حافظه دارد.
تحلیل فنی مکانیسم حمله
این مشکل زمانی رخ میدهد که سرور، رمزگذار HPACK را از طریق دو goroutine و بدون مکانیزمهای کنترلی لازم تغییر دهد. در این سناریو:
- یک goroutine از رمزگذار برای تبدیل فریمهای HEADERS (به عنوان بخشی از پاسخ ارسالی به کلاینت) استفاده میکند.
- به طور همزمان، goroutine دیگر هنگام پردازش فریم SETTINGS که حاوی دستور SETTINGS_HEADER_TABLE_SIZE است، اقدام به تغییر اندازه جدول رمزگذار میکند.
این تداخل باعث ایجاد وضعیت Race Condition میشود که در نهایت منجر به توقف ناگهانی برنامه یا همان DoS (Denial of Service) میگردد. یک کلاینت مهاجم میتواند با ارسال مکرر درخواستها و تغییر مداوم اندازه جدول هدر، این وضعیت را تحریک کرده و دسترسی کاربران به سرویس را مختل کند.