የብሮትሊ የውሂብ መጭመቂያ ዲኮደርን የማጣቀሻ ትግበራ የያዘ ቤተ-መጽሐፍት ውስጥ ተጋላጭነት (CVE-2026-111497፣ የኮድ ስሞች Broccoli2Shell እና HTTP2Shell) ተለይቷል። ይህ ተጋላጭነት በልዩ ሁኔታ የተቀነባበረ የተጨመቀ ውሂብን ሲያስኬድ የቋት ፍሰት ያስከትላል። እንደ ጎግል ገለጻ፣ ይህ ተጋላጭነት ኦፊሴላዊውን የብሮትሊ ዲኮደር ትግበራ የሚጠቀሙ ፕሮጀክቶችን ሲያጠቁ ለርቀት ኮድ አፈፃፀም ጥቅም ላይ ሊውል ይችላል። የተጎዱ ፕሮጀክቶች Node.js፣ Bun፣ Envoy፣ Istio፣ የድር አሳሾች፣ የተኪ አገልጋዮች፣ የኤችቲቲፒ ደንበኞች፣ የኤችቲቲፒ አገልጋዮች፣ ማህደሮች፣ የተኪ አገልጋዮች፣ የUEFI firmware፣ የJPEG XL ተመልካቾች፣ የፓይዘን፣ የሩቢ፣ የጃቫ፣ የPHP እና .NET የይዘት ዲኮዲንግ ቤተ-መጻሕፍት እና ተያያዥ ጥገኖቻቸውን ያካትታሉ።
ችግሩ በዚህ ዓመት የካቲት ወር በOpenAI የተገኘ ሲሆን በBrotli ኮድቤዝ ውስጥ ዲኮዲንግ ወቅት ልክ ያልሆኑ ዥረቶችን በማስወገድ ታግዷል። ጥቅምት 22፣ የBrotli 1.0.10፣ 1.1.1 እና 1.2.1 ፓች ልቀት ታትሟል፣ ችግሩን በግልጽ በማሳወቅ እና ዋናውን ችግር በመፍታት። በዚያው ቀን፣ መደበኛ ያልሆኑ ግንባታዎችን በመጠቀም በላብራቶሪ ሁኔታዎች ውስጥ የርቀት ኮድ እንዲፈጸም የሚያስችል ፕሮቶታይፕ ብዝበዛ ተፈጠረ (መደበኛ ግንባታዎች ይወድቃሉ)። ኢምፐርቫ በኋላ በመደበኛ Node.js 24.22.0 ግንባታዎች ላይ ጥቃት እንደደረሰበት አወቀ። Linux- በ ARM64 ስርዓት ላይ ያለው አካባቢ።
ተጋላጭነቱ በተጨመቀ ዥረት ውስጥ የማገጃ ትንተና በሚደረግበት ጊዜ ተገቢ ያልሆነ የስህተት አያያዝ ምክንያት ከወሰን ውጭ የሆነ የማገጃ ጽሑፍ ያስከትላል። የDecodeBlockTypeAndLength() ተግባር ከስህተት ኮድ ይልቅ እውነተኛ እና የተሳሳቱ እሴቶችን ብቻ ይመልሳል፣ ይህም ደዋዩ በዥረት ሙስና እና ተጨማሪ ውሂብ ወደ ተግባሩ እንዲተላለፍ በሚያስፈልግ ሁኔታ መካከል እንዳይለይ ይከላከላል። የተሳሳተ የተጨመቀ የውሂብ ብሎክ አይነት በዥረቱ ውስጥ ከተገለጸ፣ ዲኮደሩ እንደ ስህተት ሳይሆን ከዥረቱ ተጨማሪ ንባብ የሚፈልግ ከውሂብ ውጭ ሁኔታ አድርጎ ተርጉሞታል። ሆኖም፣ የተመደበው ማገጃ ተጨማሪ የውሂብ ንባብን ለማስተናገድ የተነደፈ ስላልሆነ፣ መረጃው የተቀረጸው ከማገጃው ውጭ ባለው ቦታ ላይ ሲሆን የዲኮደሩን ውስጣዊ ሁኔታ ያከማቸው ነው።
ተጽዕኖ የደረሰባቸው ፕሮጀክቶች፡
- የብሮትሊ የማጣቀሻ ቤተ-መጽሐፍት፣ ከተለቀቀበት ጊዜ ጀምሮ የነበረ እና በዝማኔዎች 1.0.10፣ 1.1.1 እና 1.2.1 ላይ የተስተካከለው ችግር፣ የሊብሮትሊዴክ ቤተ-መጽሐፍትን የሚጠቀሙ አፕሊኬሽኖችን እና ቤተ-መጻሕፍትን ይነካል።
- የNode.js የጃቫስክሪፕት መድረክ በዝማኔዎች 26.12.1፣ 24.22.1 እና 22.23.4 ላይ ተስተካክሏል። የHTTP ምላሾችን በራስ-ሰር በ"Content-Encoding: br" ራስጌ የሚፈታ የሶስተኛ ወገን ይዘት ለመጠየቅ የfetch() ዘዴን የሚጠቀሙ አፕሊኬሽኖች ተጋላጭ ሊሆኑ ይችላሉ። ተጋላጭነቱም የሶስተኛ ወገን ይዘትን ለመበተን zlib.brotliDecompress*()፣ createBrotliDecompress() እና brotli.decompress() ዘዴዎችን በቀጥታ ሲደውሉ ወይም በExpress 5 እና በbody-parser 2.x ቤተ-መጻሕፍት በኩል የተተነተኑ የHTTP ጥያቄዎችን ሲቀበሉ እራሱን ያሳያል።
- የፓይዘን ፓኬጆች ብሮትሊ እና ብሮትሊፊፊ (በስሪት 1.2.1 የቀረበው ማስተካከያ) እና እነሱን የሚጠቀሙባቸው ፕሮጀክቶች፣ ታዋቂ ቤተ-መጻሕፍት urllib3፣ aiohttp፣ httpx እና Scrapyን ጨምሮ፣ ውጫዊ የድር ሀብቶችን ሲደርሱ ምላሾችን በ"Content-Encoding: br" ራስጌ የሚፈታ።
- የኤችቲቲፒ አገልጋዮች፣ የኤችቲቲፒ ፕሮክሲዎች፣ የኤችቲቲፒ ደንበኞች እና የብሮትሊ መጭመቂያን የሚደግፉ የድር አሳሾች ("ተቀበል-ኢንኮዲንግ፡ br")። Apache httpd ከ mod_brotli ጋር ይላካል (በነባሪነት ተሰናክሏል)። የሶስተኛ ወገን ሞጁል፣ ngx_brotli፣ ለ nginx ይገኛል (በጥገኛዎች ውስጥ ያለው የብሮትሊ ስሪት ወደ የቅርብ ጊዜው ስሪት ተዘምኗል)። በ Chrome/Chromium እና Firefox ውስጥ ችግሩ ቀደም ሲል በተደረገ ዝማኔ ውስጥ ተስተካክሏል። በ proxy- ውስጥአገልጋይ የEnvoy ተጋላጭነት በልቀቶች 1.40.0፣ 1.39.3፣ 1.38.6፣ 1.37.8፣ 1.36.12 ላይ ተስተካክሏል።
- በአንድ መተግበሪያ ውስጥ የBrotliDecoder፣ BrotliStream እና HttpClient ዘዴዎችን ሲጠቀሙ .NET runtime። ተጋላጭነቱ እስካሁን አልተስተካከለም።
- የbrotli_uncompress() ተግባርን ሲጠቀሙ የPHP brotli ቅጥያ። ጥገና በሂደት ላይ ነው።
- የሩቢ ጥቅል ብሮትሊ የብሮትሊ.ኢንፍላት ዘዴን በመጠቀም ለብልሽቶች ተጋላጭ ነበር። ተጋላጭነቱ እስካሁን አልተስተካከለም።
- የተጨመቁ የፓርኬት ፋይሎችን ሲያስገቡ DuckDB። ጥገና በሂደት ላይ ነው።
- የClickHouse DBMS። ጥገና በሂደት ላይ ነው።
- YDB DBMS። ተጋላጭነቱ እስካሁን አልተስተካከለም።
- የተጨመቁ የፓርኬት ፋይሎችን ሲያስገቡ የApache ቀስት። ጥገና በሂደት ላይ ነው።
- libjxl (ለ JPEG XL ሜታዳታ መጭመቂያ Brotli ይጠቀማል)።
ማስተካከያ በዝግጅት ላይ። - ናናዚፕ፣ 7-ዚፕ-ዝስትድ እና p7ዚፕ ማህደሮች የ.br ፋይሎችን ሲከፍቱ ተጋላጭ ናቸው። ተጋላጭነቱ አሁንም አለ።
- MuPDF። ተጋላጭነቱ አልተስተካከለም።
- በBrotli የተጨመቀ በEDK II እና UEFITool ላይ የተመሠረተ የUEFI firmware። ለEDK II እና UEFITool ጥገና እየተዘጋጀ ነው።
- የጃቫስክሪፕት ማዕቀፍ። ተጋላጭነቱ በስሪት 1.4.4 ውስጥ ተስተካክሏል።
- ኢስቲዮ፣ የማይክሮ ሰርቪስ አስተዳደር መድረክ። ተጋላጭነቱ በስሪት 1.29.9፣ 1.30.6 እና 1.31.2 ላይ ተስተካክሏል።
- ኩርባ እና ሊብከርል፣ ተጋላጭነቱ የሚገለጠው የሊብብሮትሊዴክ ተጋላጭ ስሪት በጥገኛዎች ውስጥ ሲገኝ ነው።
- የድር ክፍት ቅርጸ-ቁምፊ (WOFF) ቅርጸ-ቁምፊ ፓርሰሮች፣ ይህም የሚጠቀመው
ብሮትሊ። - Brotli4j፣ SumatraPDF፣ Ghostscript፣ CatBoost እና YTsaurus። ተጋላጭነቱ በዝማኔ ውስጥ ተስተካክሏል።
ምንጭ: opennet.ru
