HeadlinesBriefing HeadlinesBriefing.com

QPACK অ্যামপ্লিফিকেশন আক্রমণ HTTP/3 সার্ভারের জন্য হুমকি

Hacker News •
×

একটি দূরবর্তী, অপ্রমাণিত ক্লায়েন্ট HTTP/3 সার্ভারকে যে পরিমাণ ডেটা পাঠায় তার চেয়ে কয়েক দশ থেকে হাজার গুণ বেশি মেমরি বরাদ্দ করতে বাধ্য করতে পারে। একটিমাত্র সংযোগই সার্ভারের মেমরি শেষ করে দিতে বা ডিফল্ট কনফিগারেশনের সার্ভারকে অচল করে দিতে যথেষ্ট। পরীক্ষিত দশটি বাস্তবায়নের মধ্যে সাতটি দুর্বল, এবং সেগুলোর কয়েকটি ইতিমধ্যে ঠিক করা হয়েছে।

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

TLS স্ক্যানার JA4Scan-এর জন্য QUIC স্ট্যাক অধ্যয়নের সময় এই গবেষণা শুরু হয়, যেখানে একই ধরনের দুর্বলতা একাধিক HTTP/3 বাস্তবায়নে দেখা যায়। RFC 9114 নির্ধারণ করে সার্ভারগুলো কীভাবে ডিকোড করা হেডারের আকার সীমিত করবে, কিন্তু কিছু বাস্তবায়ন শুধু সংকুচিত ফ্রেমের আকার পরীক্ষা করে, পরীক্ষার আগে সবকিছু ডিকমপ্রেস করে, প্রতি ফিল্ডের ৩২-বাইট ওভারহেড বাদ দেয়, সেটিং কনফিগার না থাকলে ডিফল্টভাবে সীমাহীন ধরে নেয়, অথবা সেটিং কখনোই কার্যকর করে না।

আক্রমণটি দুই দিকে কাজ করে। ১,০০০,০০০ বাইটের একটি HEADERS ফ্রেমে প্রায় ১৬০,০০০টি অনন্য হেডার থাকতে পারে, আর ডায়নামিক টেবিল ভ্যারিয়েন্ট একটি বড় এন্ট্রি ঢুকিয়ে এক-বাইট ইনডেক্স দিয়ে সেটি হাজারবার উল্লেখ করে, যার ফলে lsquic ও Bun-এ ৪০৬৪:১ অনুপাত তৈরি হয়।

quic-go, Cloudflare quiche, lsquic ও Wireshark-এর জন্য সমাধান পাওয়া যায়। ২০ অক্টোবর ২০২৬ পর্যন্ত Bun, h3 crate এবং aioquic/mitmproxy অপ্যাচড ছিল। প্রতিকারের মধ্যে রয়েছে HTTP/3 সার্ভার উন্মুক্ত না রাখা, mitmproxy-তে HTTP/3 বন্ধ করা, এবং h3-এ যুক্তিসঙ্গত max_field_section_size সেট করা। IIS, Envoy ও ngtcp2/nghttp3 প্রভাবিত নয়।

উৎস: Hacker News · সারাংশ: HeadlinesBriefing