envoyproxy

Stars and mentions

Last 30 days, Oct 5 – Nov 3

GitHub stars122
mentions11
0481216Oct 5Oct 19Nov 3
UTC days · repositories envoyproxy owns1 repositories

Package downloads

Cumulative recorded downloads · since 2026-04-14

PyPI269
068136204272Oct 5Oct 19Nov 3
Oct 27PyPI: 1/1 packages observed

Across 1 known packages in repositories envoyproxy owns. Cumulative totals include recorded downloads before the selected range. Missing observations leave gaps; totals may be incomplete. PyPI excludes known mirrors.

Top repositories

envoyproxy’s repositories ranked by pull request authors, as on trending.

Loading

Contributes to

Repositories outside envoyproxy’s account where envoyproxy opened or reviewed pull requests in the past 365 days.

Who noticed envoyproxy

Everyone who starred or forked envoyproxy’s repositories since the archive began in 2011.

Notable accounts

Ordered by the stars their own repositories have received.

Biggest fans

Accounts that starred the most of these repositories.

Breakout weeks

Each repository’s best week of new stars, with the release published around it.

Mentions

11posts
Nov 40 posts
  1. CVE-2026-111497: CVE-2026-111497: Out-of-Bounds Heap Write and Remote Code Execution in Google Brotli Decoder (Node2Shell) CVE-2026-111497: Out-of-Bounds Heap Write and Remote Code Execution in Google Brotli Decoder (Node2Shell) > Vulnerability ID: CVE-2026-111497 > CVSS Score: 9.8 > Published: 2026-10-22 CVE-2026-111497, tracked in threat intelligence under the aliases Node2Shell, Broccoli2Shell, and HTTP2Shell, is a critical out-of-bounds heap write and denial-of-service vulnerability in the reference Google Brotli decompression library (c/dec/decode.c). The flaw originates from an unchecked return value and error-code conflation in DecodeBlockTypeAndLength() when processing malformed streams with single-block-type declarations (max_block_type <= 1). On the fast decoding path, the ignored error return causes the 32-bit unsigned block_length counter to underflow from 0 to UINT32_MAX (0xFFFFFFFF), corrupting internal decoder tables and enabling arbitrary heap memory overwrites via memmove16(). On the streaming path, the error return is misinterpreted as an incomplete bit-stream, trapping the worker process in an infinite 100% CPU loop. Because Google Brotli is embedded across major runtimes and infrastructure components—including Node.js, Envoy Proxy, Microsoft .NET, Istio, and Python—the vulnerability exposes a broad attack surface via standard HTTP Content-Encoding: br request and response bodies. TL;DR An unchecked return value in Google Brotli's DecodeBlockTypeAndLength() function leads to an integer underflow of block_length to 0xFFFFFFFF during fast-path decompression, enabling unauthenticated remote code execution via out-of-bounds heap writes or an infinite CPU loop during streaming decompression. --- ⚠️ Exploit Status: ACTIVE Technical Details - Vulnerability Class: CWE-252 (Unchecked Return Value) -> CWE-190 (Integer Underflow) -> CWE-787 (Out-of-Bounds Heap Write) - Affected Component: Google Brotli Decoder (c/dec/decode.c: DecodeBlockTypeAndLength & ProcessCommandsInternal) - Attack Vector: Network (Unauthenticated HTTP requests or responses with 'Content-Encoding: br') - CVSS v3.1 / v4.0: 9.8 CRITICAL (v3.1) / 9.2 CRITICAL (v4.0) - EPSS Score: 87.99% (99.76th Percentile) - Security Impact: Remote Code Execution (fast path OOB heap write) or 100% CPU Infinite Loop DoS (safe streaming path) - Exploit & KEV Status: Actively Exploited in the Wild; Listed in CISA KEV (Added 2026-10-27) Affected Systems - Google Brotli (libbrotli) - Node.js Runtime (Express, Koa, NestJS, Next.js, undici, axios, node-fetch, got, superagent) - Microsoft .NET Runtime & SDK - Envoy Proxy - Istio Service Mesh - Bun Runtime - Python brotli / brotlicffi - Go andybalholm/brotli - Apache Arrow, ClickHouse, DuckDB - Tianocore EDK2, p7zip / 7-zip-zstd - Debian 12, Ubuntu, Alpine Linux - Brotli: >= 1.0.3, < 1.0.10 (Fixed in: 1.0.10) - Brotli: >= 1.1.0, < 1.1.1 (Fixed in: 1.1.1) - Brotli: >= 1.2.0, < 1.2.1 (Fixed in: 1.2.1) - Node.js 22.x: < 22.23.4 (Fixed in: 22.23.4) - Node.js 24.x: >= 23.0.0, < 24.22.1 (Fixed in: 24.22.1) - Node.js 26.x: >= 25.0.0, < 26.12.1 (Fixed in: 26.12.1) - .NET: < 8.0.33, < 9.0.22, < 10.0.14 (Fixed in: 8.0.33 / 9.0.22 / 10.0.14) - Envoy Proxy: < 1.37.8, 1.38.0 - 1.38.5, 1.39.0 - 1.39.2 (Fixed in: 1.37.8 / 1.38.6 / 1.39.3) - Istio: < 1.29.9, 1.30.0 - 1.30.5, 1.31.0 - 1.31.1 (Fixed in: 1.29.9 / 1.30.6 / 1.31.2) - Bun: < 1.4.4 (Fixed in: 1.4.4) - Next.js: < 16.4.3 (Fixed in: 16.4.3) Code Analysis Commit: 0ed4268 Detect and report invalid stream earlier. diff --git a/c/dec/decode.c b/c/dec/decode.c index e87e7f5ea..19c7e0283 100644 --- a/c/dec/decode.c +++ b/c/dec/decode.c @@ -1176,7 +1176,7 @@ static BrotliDecoderErrorCode DecodeContextMap(brotli_reg_t context_map_size, /* Decodes a command or literal and updates block type ring-buffer. Reads 3..54 bits. */ -static BROTLI_INLINE BROTLI_BOOL DecodeBlockTypeAndLength( +static BROTLI_INLINE BrotliDecoderErrorCode DecodeBlockTypeAndLength( int safe, BrotliDecoderState* s, int tree_type) { brotli_reg_t max_block_type = s->num_block_types[tree_type]; const HuffmanCode* type_tree = &s->block_type_trees[ @@ -1187,7 +1187,7 @@ static BROTLI_INLINE BROTLI_BOOL DecodeBlockTypeAndLength( brotli_reg_t* ringbuffer = &s->block_type_rb[tree_type * 2]; brotli_reg_t block_type; if (max_block_type <= 1) { - return BROTLI_FALSE; + return BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH; } Exploit Details - GitHub: Proof-of-concept bitstream generator and RCE exploit harness for CVE-2026-111497 by Dimas Maulana. - GitHub: Node2Shell proof-of-concept repository demonstrating CVE-2026-111497 exploitation against Node.js. - GitHub: Technical analysis and crash reproduction repository by Qi Deng. - GitHub: Assetnote vulnerability scanner for identifying endpoints vulnerable to Node2Shell (CVE-2026-111497). Mitigation Strategies - Upgrade Google Brotli and all downstream runtimes (Node.js, .NET, Envoy, Istio, Bun, Python) that statically link or bundle the C decoder. - Block or strip incoming HTTP requests containing the 'Content-Encoding: br' header at the WAF, API gateway, or reverse proxy layer. - Configure outbound HTTP clients (undici, axios, node-fetch, got) to omit 'br' from 'Accept-Encoding' headers when querying untrusted external servers. - Audit container images and host filesystems for secondary or statically compiled Node.js, Envoy, and .NET binaries. Remediation Steps: 1. Identify all vulnerable Node.js instances by running: node -p "require('zlib').constants.BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH || 'VULNERABLE'" 2. Upgrade Node.js runtimes to versions 22.23.4, 24.22.1, or 26.12.1 (migrate off EOL Node.js 20.x). 3. Upgrade Google Brotli system libraries (libbrotli1) to versions 1.0.10, 1.1.1, or 1.2.1 and restart dependent services. 4. Upgrade Microsoft .NET runtimes to 8.0.33, 9.0.22, or 10.0.14. 5. Upgrade Envoy Proxy (< 1.37.8, 1.38.0-1.38.5, 1.39.0-1.39.2) and Istio (< 1.29.9, 1.30.0-1.30.5, 1.31.0-1.31.1) to patched releases. 6. Deploy WAF rules to drop HTTP POST/PUT/PATCH requests with 'Content-Encoding: br' until all upstream workers are patched. References - National Vulnerability Database (NVD) Record: CVE-2026-111497 - CVE.org Authoritative Record: CVE-2026-111497 - CISA Known Exploited Vulnerabilities (KEV) Catalog - Google Brotli Upstream Fix Commit (0ed4268a4401abcb4472096340477cf4af7d1a2b) - Node.js Security Advisory (October 2026) - GitHub Advisory Database (GHSA-9v8h-qqgm-4m35) - Envoy Proxy Security Advisory (GHSA-3wvj-j6qm-62mr) - Microsoft .NET Announcement Issue #494 - ELLIO Threat Research Analysis: Node2Shell RCE on Stock Node.js Builds - Aikido Security Analysis: Node2Shell Node.js Brotli RCE - Dimas Maulana (dimasma0305) CVE-2026-111497 PoC Repository - Qi Deng (ikow) brotli2crash Analysis Repository - Openwall oss-security Mailing List Disclosure - RFC 7932: Brotli Compressed Data Format Specification --- Read the full report for CVE-2026-111497 on our website for more details including interactive diagrams and full exploit analysis.

  2. HTTP の QUERY メソッド(RFC 10008)は WAF で止まる。HAProxy・Envoy・Traefik・Caddy・ModSecurity で試した きっかけ HTTP の新しいメソッド QUERY が、2026 年 6 月に RFC 10008(Proposed Standard)として公開されました。本文を持てるのに、GET と同じく安全で冪等なメソッドです。検索条件が長くて URL に入りきらず、POST で代用していた API の置き換え先になります。 仕様が決まっても、本番で使えるかは別の話です。クライアントとアプリの間には、リバースプロキシ、WAF、ロードバランサー、サービスメッシュが挟まります。どれか1つが QUERY を知らなければ、そこで止まります。 そこで、リバースプロキシと WAF を Docker で並べて、QUERY が本当に通るかを試しました。検証に使ったツールと環境は OTA-EITA/query-method-probe に置いてあり、同じ結果を手元で再現できます。 既にある記事との違い QUERY については、Qiita にすでに良い記事があります。 - 仕様の解説と、FastAPI・Go・Hono で実装してみた記事 - 【RFC 10008】新HTTPメソッド QUERY 入門 — GETのかゆいところに手が届く / FastAPIで動くのか実際に試した - HTTPに新メソッド「QUERY」が登場 — GETとPOSTの間を埋めるRFC 10008を理解する - 新しいHTTPメソッド「QUERY」をHono + Bunで実装してみる - サーバーとキャッシュの対応状況を実測した記事 - QUERYメソッドはどこまで通るのか — nginx / Apache / H2O / Tomcat の対応状況を実測とソースで調べた(2026 年 8 月、nginx 1.24.0) この記事では、上の記事で実測されていない WAF(ModSecurity + OWASP CRS)と、HAProxy・Envoy・Traefik・Caddy を実測します。nginx は安定版の最新 1.30.6 で、先行記事の結果が今も変わっていないかを確かめました(メインライン版の 1.31 系は試していません)。 結論 | 経路 | QUERY | 本文 | 補足 | |---|---|---|---| | ModSecurity + OWASP CRS 4.30.0(初期設定) | 403 | 届かない | 許可するメソッドに QUERY がない | | ModSecurity + CRS(QUERY を許可に追加) | 通る | 届く | | | HAProxy 3.4.7 | 通る | 届く | | | Envoy 1.40.0 | 通る | 届く | 1.40.0 から対応 | | Traefik 3.7.16 | 通る | 届く | | | Caddy 2.11.7 | 通る | 届く | | | nginx 1.30.6 | 通る | 届く | 先行記事(1.24.0)と同じ | | nginx 1.30.6(proxy_cache 有効) | 通る | 届く | QUERY はキャッシュされない | リバースプロキシは、どれも QUERY を本文ごとそのまま通しました。止まったのは WAF です。OWASP CRS を初期設定のまま入れていると、QUERY は 403 で弾かれます。 何をどう確かめたか flowchart LR P["query-method-probe<br/>(クライアント)"] -->|OPTIONS / GET / POST / QUERY| X["プロキシ・WAF"] X --> E["echo サーバー<br/>届いたメソッドと本文の<br/>SHA-256 を返す"] E -->|"レスポンス"| X --> P - 送る順番は、OPTIONS、本文付き GET、POST、QUERY、本文だけを変えた 2 回目の QUERY です。 - 送り先の echo サーバーは、受け取ったメソッド名と本文の SHA-256 を返します。クライアント側で比べて、QUERY のまま届いたか、本文が欠けずに届いたかを判定します。 - 2 回目の QUERY は、キャッシュの確認用です。RFC 10008 の 2.7 節は、QUERY のキャッシュのキーにリクエストの本文を含めることを MUST としています。キャッシュが本文を無視していれば、2 回目にも 1 回目と同じ応答が返るので、それを検出します。 - 本文は {"q":"x","limit":10}(application/json)です。プロキシと WAF のイメージはすべてダイジェストで固定しています。 git clone https://github.com/OTA-EITA/query-method-probe cd query-method-probe ./lab/run.sh # docker と jq が必要。結果は lab/results/summary.md に出ます 自分の環境の URL を調べるときは、CLI だけで使えます。 go install github.com/OTA-EITA/query-method-probe/cmd/query-method-probe@latest query-method-probe check https://api.example.com/search \ --body '{"q":"x"}' --content-type application/json ハマりどころ 1. ModSecurity + OWASP CRS が QUERY を 403 で弾く - 症状:プロキシを直接叩くと通るのに、WAF を挟むと QUERY だけ 403 になる。OPTIONS と POST は 200 のまま - 原因:CRS の初期設定で許可されるメソッドは GET HEAD POST OPTIONS だけです(REQUEST-901-INITIALIZATION.conf の tx.allowed_methods)。それ以外のメソッドが来ると、ルール 911100(Method is not allowed by policy)が異常スコアを加算し、合計が閾値の 5 に達したところでルール 949110 が遮断します。WAF のログにも、QUERY のリクエストに対して 911100 と 949110 が記録されていました - 対処:許可するメソッドに QUERY を足します。公式の Docker イメージなら環境変数で変えられます modsecurity: image: owasp/modsecurity-crs:4.30.0-nginx-202610180210 environment: ALLOWED_METHODS: GET HEAD POST OPTIONS QUERY CRS を自分で組み込んでいる場合は、crs-setup.conf で tx.allowed_methods に QUERY を加えます。これで 200 が返り、本文も欠けずに届きました。 クラウドや CDN のマネージド WAF にも、許可するメソッドを決める設定があるものがあります。QUERY を入れる前に、経路上の WAF を一通り確かめておくと安全です。 2. 本文付きの GET も WAF で弾かれる 「検索条件を GET の本文に入れればいい」という逃げ道も、WAF で確かめました。本文付きの GET は、初期設定でも、QUERY を許可した後でも 403 でした。CRS のルール 920170(GET や HEAD に本文があるリクエスト)によるものです。 そもそも RFC 9110 の 9.3.1 節では、GET の本文には一般的な意味が定義されていません。中継の途中で落とされても文句は言えないので、本文で条件を渡したいなら QUERY を使うのが正攻法です。 3. Envoy は 1.40.0 から 今回の Envoy 1.40.0 では素直に通りましたが、それより前の版は事情が違います。 Envoy 1.40.0 の変更履歴によると、HTTP/1 のコーデックが QUERY を認識するようになり、400(HPE_INVALID_METHOD)で拒否せずに転送するようになりました。HTTP/2 と HTTP/3 にはメソッドの許可リストがなく、以前から転送していたそうです(envoyproxy/envoy#46496)。1.40.0 より前でも allow_custom_methods を有効にすれば HTTP/1 の QUERY を受けられますが、こちらは任意のメソッドを通す設定です。 もう1つ、1.40.0 からは Content-Type のない QUERY が 400(query_missing_content_type)で拒否されます。RFC 10008 の 2 節が、Content-Type のない QUERY を失敗させることを MUST としているためで、HTTP/2 と HTTP/3 にも効きます。今回の検証では Content-Type を付けて送っています。 Istio のように Envoy を内部で使うサービスメッシュでは、組み込まれている Envoy の版によって、HTTP/1 の QUERY が 400 になる可能性があります(今回は未検証です)。導入前に、経路上の Envoy の版を確かめておくのが確実です。 4. nginx は QUERY をキャッシュできない ここは先行記事の nginx 1.24.0 での結果と同じで、1.30.6 でも変わっていませんでした。 - QUERY はキャッシュを有効にしても毎回オリジンまで届き、本文を変えた 2 回目にも正しく新しい応答が返る - proxy_cache_methods に書けるのは GET | HEAD | POST だけで、QUERY を書くと設定のチェックで起動できない nginx: [emerg] invalid value "QUERY" in /etc/nginx/query-cache-methods.conf:10 nginx: configuration file /etc/nginx/query-cache-methods.conf test failed RFC 10008 は QUERY の応答をキャッシュしてよいとしていますが、nginx でその効果を得るには対応を待つ必要があります。代わりに POST を本文込みでキャッシュする方法には、本文が大きいとキャッシュのキーが空になって別の応答が返る罠があり、先行記事に詳しくまとめられています。 5. ブラウザから呼ぶと CORS のプリフライトが飛ぶ これは今回の検証環境では試していませんが、RFC 10008 の 4 節に書かれている注意点です。QUERY は CORS でプリフライトなしに送れるメソッド(CORS-safelisted method。GET・HEAD・POST の3つ)に入っていないので、ブラウザから別オリジンの API を呼ぶと、OPTIONS のプリフライトが先に飛びます。API 側の CORS の設定で、許可するメソッドに QUERY を足しておく必要があります。 同じ 4 節には、QUERY を使う利点も書かれています。URL は途中の機器のログに残りやすいので、機密を含む検索条件は URL より本文で送るほうがよい場合がある、というものです。 まとめ - リバースプロキシ(HAProxy、Envoy 1.40.0、Traefik、Caddy、nginx)は、QUERY を本文ごとそのまま通した - WAF(OWASP CRS)は初期設定だと QUERY を 403 で弾く。許可するメソッドに QUERY を足せば通る - Envoy は 1.40.0 より前だと、初期設定では HTTP/1 の QUERY を 400 にする - nginx 1.30.6 は QUERY をキャッシュしない(設定もできない) - ブラウザから呼ぶなら、CORS で QUERY を許可しておく QUERY を API に入れるときは、アプリより先に、経路上の WAF の許可するメソッド、サービスメッシュの Envoy の版、CORS の設定を確かめておくと、つまずきを減らせます。 自分の環境の経路でも試せるように、検証に使ったツールを query-method-probe として公開しています。 参考 - RFC 10008: The HTTP QUERY Method(2.7 節 Caching、4 節 Security Considerations) - RFC 9110: HTTP Semantics, 9.3.1 GET - OWASP CRS 4.30.0: REQUEST-911-METHOD-ENFORCEMENT.conf - OWASP CRS 4.30.0: REQUEST-920-PROTOCOL-ENFORCEMENT.conf - nginx: proxy_cache_methods - Envoy 1.40.0 changelog - envoyproxy/envoy#46496: http: add support for the QUERY method (RFC 10008) - QUERYメソッドはどこまで通るのか — nginx / Apache / H2O / Tomcat の対応状況を実測とソースで調べた(Qiita) - 【RFC 10008】新HTTPメソッド QUERY 入門(Qiita) - HTTPに新メソッド「QUERY」が登場(Qiita) - 新しいHTTPメソッド「QUERY」をHono + Bunで実装してみる(Qiita) - @IT: API設計の常識が変わる? HTTP新メソッド「QUERY」とセキュリティ対策を学ぶ

  3. Node2ShellはNode.jsだけの話ではない。Brotliの欠陥でPythonも対象、CVE-2026-111497の該当判定 「Node2Shell? うちは Node.js を使っていないから関係ないな」。10月下旬にこのニュースを見て、そう判断しかけた方もいると思います。ところが、Node.js を使っていなくても確認が必要な場合があります。Node2Shell(HTTP2Shell とも呼ばれる、CVE-2026-111497)の正体は、Node.js ではなく Google の圧縮ライブラリ Brotli の欠陥でした。Python の Brotli パッケージ(入っていると requests などが自動で使う)、Bun、Envoy、Git for Windows にも同じ欠陥がありました。10月27日には、米国の CISA(サイバーセキュリティ・社会基盤安全保障庁)が、実際に悪用が確認された脆弱性の一覧に追加しています。 この記事は、Node.js・Python・Bun でアプリを作っている人や、Windows で Git for Windows を使っている人向けです。読み終えると、次の3つが分かります。 なぜ「Node.js の脆弱性」として広まったのか(原因) 自分の環境が該当するか、どこまで上げればよいか(言語・ツール別の判定) 呼び名・深刻度・RCE の範囲など、記事ごとに食い違う情報のどれを信じればよいか 情報は2026年10月29日時点のものです。技術的な解析は Imperva と OpenSourceMalware の記事が詳しく、Python・curl・Git for Windows の動作検証は技術ブログの lilting が詳しいです。どれも末尾のリンクから読めます。 ! 先に答え(2026年10月29日時点) 出回った言い方 一次情報での答え Node.js の脆弱性 欠陥があるのは Google の Brotli。Node.js は同梱していた Brotli を直した側 Node.js を使っていなければ無関係 Python(Brotli パッケージがあると requests 等が使う)・Bun・Envoy・Git for Windows も対象 Node2Shell と HTTP2Shell は別の脆弱性 どちらも CVE-2026-111497 の1件 深刻度は High? Critical? どちらも正しい。評価した組織が違う 素の Node.js ならどこでも RCE される 実証は Node.js 24.22.0(arm64 と x86-64)で報告された。24.22.0 用の攻撃データは 22.23.3・26.12.0 では通らず、ビルドごとに調整が要る 実際の攻撃はまだ? CISA が10月27日に、悪用が確認された脆弱性の一覧(KEV)に追加した。攻撃通信を観測したという報告もある 自分は該当する? 使っている言語ではなく、「信頼できない相手から来た Brotli データを展開するか」と「同梱している Brotli が直った版か」で決まります。判定だけ知りたい方は「自分は関係ある? 言語・ツール別の判定」へ進んでください。 Brotli とは何で、何が壊れていたのか Brotli は Google が作った圧縮形式で、Web では HTTP の Content-Encoding: br として使われます。欠陥があったのは、圧縮データを元に戻す部分(デコーダ)の C 言語実装です。壊れた圧縮データを渡すと、デコーダが内部バッファの外へ書き込んでしまいます(境界外書き込み)。本来触ってはいけないメモリを書き換えるため、条件がそろうと遠隔からのコード実行(RCE)につながります。 影響を受ける版: 1.0 系は 1.0.3〜1.0.9、1.1 系は 1.1.0、1.2 系は 1.2.0 修正版: 1.0.10 / 1.1.1 / 1.2.1(日本時間の10月22日 04:27 公開) CVE の採番: Google 発見: OpenAI Codex Security なぜ「Node.js の脆弱性」として広まったのか 広く知られるきっかけが、10月21日の Node.js 定例セキュリティリリースだったからです。流れを表にまとめます(日付は日本時間)。 日付 出来事 2月27日 Brotli のリポジトリに修正コミット。メッセージは「Detect and report invalid stream earlier.」(壊れたストリームを早めに検出して報告する)の1行で、脆弱性とは書かれていない。修正版の公開まで約237日 10月21日 Node.js が定例セキュリティリリースで10件を修正。その1件がこの欠陥 10月22日 Brotli の修正版を公開。Imperva が「Node2Shell」の題で RCE の実証記事を公開 10月23日 OpenSourceMalware が Python への波及を公表 10月24日 Envoy がアドバイザリを公開。Git for Windows に Issue #6514 が立つ Imperva はセキュリティ企業です。実証の対象が Node.js で、記事の題にも Node.js が入りました。そのため、「Node.js の脆弱性」として広まりました。 ところが、Node.js が直した中身は Brotli のコードです。Node.js は Brotli を自分のリポジトリに同梱していて、今回は Brotli の修正コミットを cherry-pick で取り込みました。cherry-pick は、別のリポジトリの修正部分だけを持ってくる操作です。 つまり Node.js は、同梱していた Brotli を直した側であって、欠陥の持ち主ではありません。 Python への波及を最初にまとめた OpenSourceMalware(OSM)も、この点を「この脆弱性は、そもそも Node.js のものではない」と書いています。 OSM の原文(英語) The vulnerability isn't really in Node.js at all Node.js 以外に対象になるもの(Python・Bun・Envoy・Git for Windows) 原因が Brotli のデコーダにあるので、同じデコーダを積んでいるものは確認が必要です。10月29日までに、次のものが分かっています。 Python: Brotli / brotlicffi パッケージ。どちらかが入っていると、urllib3 / requests、httpx(brotli extra)、aiohttp、Scrapy が br の応答を自動で展開します Bun: 1.4.4 で同梱の Brotli を更新しました Envoy / Istio: Brotli の展開(decompressor)を設定した構成が対象です curl: リンクしている Brotli のライブラリ次第です Git for Windows: 2.56.0.windows.3 までは、同梱の brotli が 1.2.0 のままでした。10月26日に公開された 2.56.0.windows.4 で 1.2.1 に更新されています このほかにも、対象として次のものが見つかっています。 .NET: 修正版は 8.0.33 / 9.0.22 / 10.0.14 です(.NET Framework は対象外)。BrotliStream などで自分で展開する処理が対象です。HttpClient の応答の自動展開と ASP.NET Core のリクエスト展開は、既定では無効です Go の andybalholm/brotli: Brotli を Go に移植したライブラリです。v1.2.7 に同じ修正が移植されました Linux の git の HTTPS 通信: git が使う libcurl が Brotli 付きでビルドされていれば対象です。oss-security への投稿によれば、多くのディストリの libcurl は Brotli 付きです Git for Windows のメンテナは、10月24日の Issue で次のように書いています。 昨日の時点では、これは「ただの」node2shell だと言われていた。だから Git for Windows は無関係に見えた。 メンテナの原文(英語、Git for Windows Issue #6514) Yesterday, the word on the street was still that this was "only" node2shell, and therefore Git for Windows looked unaffected. メンテナ自身も、名前を見て「自分は関係ない」と判断しかけていたわけです。「Node2Shell」という名前は、最初に話題になった場所を示しているだけで、影響範囲を示してはいません。 該当するかは「言語」ではなく2つの条件で決まる 対象の部品が入っていても、すぐに攻撃されるとは限りません。どの環境から先に上げるかは、次の2つの条件で決まります。 条件1: 信頼できない相手から来た Brotli データを展開するか。 典型的な経路は2つあります。 外部サーバーの応答を、Node.js の fetch() や Python の requests などで受け取る。応答の中身は相手のサーバーが決めます。攻撃者が用意したサーバーなら、壊れたデータを返せます 受け取ったリクエスト本文を、ミドルウェアが展開する。Imperva は、Express 5 / body-parser 2 の raw()・json() がリクエスト本文を展開する経路で実証しています 一方、素の Node.js の HTTP サーバーは、リクエストを受け取っただけでは本文を展開しません(Imperva の記事による)。 条件2: 同梱している Brotli が直った版か。 これは言語やツール本体の版で決まります。Brotli を自分で入れていなくても、ランタイムやツールの中に入っていることがあります。 特に先に上げるべきなのは、外部の URL を取ってくる機能を持つアプリです。Webhook、URL のプレビュー表示、クローラ、「この URL の内容を取ってきて」と頼める機能などがこれに当たります。 下の図の「Brotli デコーダを積んだもの」は、前の節で挙げた Node.js・Python の Brotli / brotlicffi・Bun・Envoy・Git for Windows などです。 自分は関係ある? 言語・ツール別の判定 ! 判定の前に、落とし穴が2つあります。 版番号: Node.js は修正を cherry-pick で取り込みました。そのため、修正版でも process.versions.brotli の表示は修正前と変わりません(lilting の検証では、22.23.4 でも 1.1.0 のまま)。Node.js では、Brotli の版ではなく node -v で Node.js 本体の版を見ます。ただし、ディストリが提供する nodejs はシステムの libbrotli を使うことがあります(Ubuntu・Debian の告知)。その場合は、ディストリの告知で判断します スキャナ: Node.js はランタイムそのものなので、npm audit には出ません。Python では、10月23日に OSM が「Brotli・brotlicffi の PyPI パッケージは、どの脆弱性データベースにも載っていない」と書きました。翌24日には、pip-audit が検出するようになっています(lilting の検証)。スキャナが何も言わないことを、安全の根拠にしないでください 対象 何を見るか OK の基準・対処 優先して上げるべき使い方 Node.js node -v 22・24・26 系は、それぞれ 22.23.4 / 24.22.1 / 26.12.1 以上。それ以外の系列(20 以下など)は修正されないので、サポート中の系列へ移る fetch() で外部 URL を取る。Express 5 / body-parser 2 で br の本文を受ける Python Brotli / brotlicffi が入っているか Brotli 1.2.1 / brotlicffi 1.2.1.0 以上。Linux ディストリビューション(以下ディストリ)が提供するパッケージは、ディストリの更新で上げる requests・httpx・aiohttp 等で外部 URL を取る Bun bun --version 1.4.4 以上。コンパイル済みの実行ファイルは作り直しが必要(Aikido の記述) 外部 URL を取る Envoy Brotli decompressor を設定しているか 1.40.0 / 1.39.3 / 1.38.6 / 1.37.8 / 1.36.12 以上 設定している構成すべて Istio Brotli の展開を有効にしているか(EnvoyFilter など) 1.31.2 / 1.30.6 / 1.29.9 以上(Istio の告知 ISTIO-SECURITY-2026-007) 有効にしている構成すべて Git for Windows git version 2.56.0.windows.4 以上(10月26日公開。同梱の brotli は 1.2.1) 信頼できない HTTPS サーバーへの clone / fetch curl どの Brotli にリンクしているかは、ビルドした配布元次第 配布元(OS・ディストリ・同梱しているツール)の更新情報を確認して上げる。Windows 標準の curl は Brotli 非対応(lilting の検証) --compressed などで、信頼できない URL の応答を展開させる Linux の libbrotli ディストリのセキュリティ情報 ディストリの更新を当てる。版番号を変えずに修正だけ移植する(バックポート)ことがあるので、版番号ではなくディストリの告知で判断する libbrotli を使うアプリが外部データを展開する Bun 1.4.4 のリリースノート(公式ブログ)は、Security の節で Brotli に触れていますが、CVE 番号は書かれていません。CVE 番号で探すと見落としやすいので注意してください。 主なディストリの対応状況は、10月29日時点で次のとおりです。 Ubuntu: brotli は jammy(22.04)・noble(24.04)などで修正済みです(USN-8956-1 / USN-8956-2)。jammy 以降の nodejs はシステムの brotli を使うため「影響なし」とされています。focal(20.04)は、brotli が「評価中(Needs evaluation)」、Brotli を同梱する nodejs が「vulnerable」のままです Debian: brotli は bookworm(DLA-4855-1)と trixie(DSA-6582-1)で修正済みです。ディストリ版の nodejs と trixie の python-brotlicffi は、トラッカー上はまだ「vulnerable」の表示です。ただし、トラッカーの注記では、どちらもシステムの brotli を使うとされています 同じディストリの中でも、パッケージごとに状況が違います。使っているパッケージごとに告知を確かめてください。 Node.js・Python・Git for Windows については、表に書ききれない確かめ方を補足します。 Node.js: node -v で本体の版を見る node -v Docker イメージの中の Node.js を見る例(<image> は自分のイメージ名に置き換える) docker run --rm <image> node -v 出力を表の基準と比べます。手元の Node.js だけでなく、Docker イメージや、Node.js を同梱して配っているバイナリの中の版も見てください(Imperva の推奨)。 Python: Brotli / brotlicffi が入っているかを見る 確かめたい venv を有効にしてから実行する python -m pip show Brotli brotlicffi 出力の Version: の行を、表の基準と比べます。 どちらも見つからなければ、requests などは br の応答を展開しません(OSM の解説と lilting の検証)。ただし、Brotli を別の形で同梱したライブラリや外部ツールを使っている場合は、そちらも確かめてください。また、venv ごとに入っているパッケージは違います。アプリごと・コンテナごとに見てください。 Git for Windows: git version で版を見る git version git version 2.56.0.windows.4 以上と表示されれば、修正版です。10月26日に公開され、Issue #6514 もクローズされました。 同梱の brotli の版は、Git for Windows のインストール先にある etc/package-versions.txt で確かめられます。Git Bash からは次のように見られます。 grep brotli /etc/package-versions.txt 64ビット版の修正版なら mingw-w64-ucrt-x86_64-brotli 1.2.1-1 と出る 上げられるまでの間は、信頼できない HTTPS サーバーへの clone / fetch を避けるのが安全です(lilting の見解)。 呼び名・深刻度・RCE の範囲・悪用、食い違いの答え合わせ ここまでで判定はできます。この節では、調べると記事ごとに食い違って見える4つの点を、一次情報で確かめます。 Node2Shell と HTTP2Shell は同じ1件 Node2Shell は Imperva の記事タイトルが元です。HTTP2Shell は、セキュリティ企業 Aikido の記事の見出し「Node2Shell evolves to HTTP2Shell」(Node2Shell が HTTP2Shell に進化した)に出てくる呼び方です。見出しは、HTTP を使うライブラリやアプリにも影響が広がったことを伝えるものです。ただし、Aikido は呼び名を変えた理由を本文で説明していません。検索すると Broccoli2Shell という呼び方も出てきます。どれも指しているのは CVE-2026-111497 の1件です。 もう1つ紛らわしいのが、2024年の別の脆弱性です。「Node.js Brotli 脆弱性」で検索すると、検索エンジンの AI 要約が CVE-2024-22025 を返すことがあります。これは2024年に見つかった、fetch() が Brotli データを展開するときにサービス停止(DoS)を起こす問題で、今回とは別件です。 High と Critical 9.2 は、評価した組織が違う 深刻度の点数は CVSS という共通の尺度で付けます。CVE を採番した Google は、CVSS 4.0 で 9.2(Critical)と評価しました。GitHub のアドバイザリと NVD(米国の脆弱性データベース)もこの値を載せています。 一方、Node.js は自分のリリース表でこの件を High と書きました。評価したのは Node.js 自身で、対象も Node.js という1つの製品です。評価した組織も、評価の対象にした製品も違うので、どちらも間違いではありません。 RCE の実証は広がったが、成否はビルドで違う 「素の Node.js で RCE できる」という言い方も出回っています。最初に Imperva が実証に使ったのは、公式の Node.js 24.22.0 Linux arm64 イメージです(経路は fetch() と Express 5 / body-parser 2)。成功までには何回か試す必要がありました。 その後、セキュリティ企業の ELLIO が、Node.js 24.22.0 の x86-64 でも RCE に成功したと報告しました。成功した構成は4つで、node:http のサーバーから node:zlib を呼んで本文を展開するもの、公式の slim イメージ、Express 5.3.0(express.json())、Koa 3(@koa/bodyparser)です。node:http の例は、フレームワークを挟まず、アプリのコードが自分で本文を展開する構成です。ELLIO も、素の Node.js の HTTP サーバーはリクエストを受け取っただけでは Brotli の本文を展開しないと書いています(条件1 と同じ)。「node:http を使っているだけで RCE される」という意味ではありません。 一方、24.22.0 用に調整した攻撃データは、22.23.3 と 26.12.0 では1万回試しても成功しませんでした。ELLIO は、これらの版には別の調整が要るとしています。攻撃を成功させるには、ビルドごとに作り込む必要があるということです。「どの環境でもすぐ RCE される」わけではありません。 Python については、RCE を試した報告はまだありません。OSM は、壊れたデータを渡すとデコーダが誤った結果を返すところまでを確かめています。 ただし、24.22.0 用の攻撃データが通らなかったからといって、ほかの版が安全だという証明にはなりません。判定で該当した環境は、実証の有無にかかわらず上げてください。 実際の攻撃は、すでに確認されている 10月25日の時点では、悪用の報告は見当たりませんでした。その後、状況が変わっています。CISA は10月27日に、この CVE を KEV(Known Exploited Vulnerabilities、実際に悪用が確認された脆弱性の一覧)に追加しました。米国の政府機関には、11月10日までの対応が求められています。 ELLIO も10月26日の追記で、自社のセンサーで実際の攻撃通信を観測したと報告しています。狙いは Node.js 24.22.0 の x86-64 で、ELLIO の検証では、観測した攻撃データそのものは成功しませんでした。攻撃を再現するコード(PoC)も公開されて出回っています。 ただし、CISA は KEV に追加した根拠となった具体的な事例を公表していません。どの製品のどの使い方が狙われたのかは、まだ分かりません。 まだ分かっていないこと 10月29日時点で、次の点はまだ決着していません。 Ubuntu の focal(20.04)は、修正版が出ていません。Debian のディストリ版 nodejs と trixie の python-brotlicffi は、トラッカー上「vulnerable」の表示が残っています Python で RCE が可能かどうかを検証した報告は、見当たりません CISA が KEV に追加した根拠の事例は公表されておらず、どこが狙われたのかは分かっていません ブラウザや、Node.js を内蔵するアプリ(Electron など)については、この記事では扱いません。影響の有無を示す一次情報が見当たらないためです。 おわりに Node2Shell の原因は Node.js ではなく Brotli の欠陥で、Node.js は直した側でした。呼び名が違っても指しているのは1件で、深刻度の違いは評価した組織の違いです。RCE の成否はビルドによって違いますが、実際の攻撃はすでに確認されています。 「Node.js は使っていないから関係ない」と思った方も、Python の venv と git version を一度確かめてみてください。判断の材料は「Node2Shell」という名前ではなく、手元にあるパッケージとツールの版です。 参考リンク Node.js: Security Releases: October 21, 2026 GitHub Advisory: GHSA-9v8h-qqgm-4m35(PyPI Brotli / brotlicffi) NVD: CVE-2026-111497 google/brotli: Releases Git for Windows Issue #6514: Bundled brotli is still 1.2.0 in 2.56.0.windows.3 Imperva: Node2Shell: From Brotli Data to Remote Code Execution OpenSourceMalware: Node2Shell affects Python Envoy: GHSA-3wvj-j6qm-62mr Istio: ISTIO-SECURITY-2026-007 Bun: Bun v1.4.4 Aikido: Node2Shell evolves to HTTP2Shell lilting: Brotli CVE-2026-111497 beyond Node.js, tested with Python, curl, and Git for Windows CISA: Known Exploited Vulnerabilities Catalog(CVE-2026-111497) ELLIO: Node2Shell(CVE-2026-111497)の検証記事 Git for Windows: v2.56.0.windows.4 Ubuntu: CVE-2026-111497 Debian Security Tracker: CVE-2026-111497 .NET: dotnet/announcements #494 oss-security: Brotli CVE-2026-111497 and git-remote-https andybalholm/brotli: v1.2.7 の更新履歴

  4. Brotli CVE-2026-111497: Memory Corruption, Information Disclosure, and RCE via Crafted Compressed Streams 1. Basic Information - Article Name: Wednesday, October 21, 2026 Security Releases - Source: Node.js project - Published Date: October 21, 2026 - Original Source: Node.js project - Related Information Sources: GitHub Advisory: Python Brotli / brotlicffi, Istio Brotli Requirements, Envoy Brotli Advisory, BleepingComputer, JPCERT/CC, Microsoft .NET Advisory, Imperva, OpenAI - Related Malware, Threat Groups, CVEs, Products: CVE-2026-111497, Google Brotli, Node.js, .NET, Python Brotli, Bun, Envoy, Istio - Severity: High 2. Executive Summary The Brotli stream decoder incorrectly treats invalid block switching as a request for additional input rather than a permanent error, writing data beyond the 8-byte internal buffer. Decompressing attacker-controlled Brotli data can cause process crashes or disclose process memory, and may allow remote code execution (RCE) when additional conditions are met. Public proofs of concept and research demonstrations exist, but the reviewed public sources do not report malicious exploitation in the wild. 3. Attack Flow The following are separate paths leading to the same decoder vulnerability. Sending requests to a server and retrieving responses as a client are independent attack vectors and do not form a single mandatory sequence of steps. Server Decompression of Compressed Requests 1. An attacker sends a crafted Brotli stream as an HTTP request or API input. 2. An application or runtime decompresses the data using the vulnerable decoder. 3. Writing to the internal buffer continues even after invalid block switching, causing an out-of-bounds write. 4. This leads to process crashes, memory information disclosure, and, when memory layout and protection mechanism conditions are met, remote code execution (RCE) under the process privileges. Client Decompression of Compressed Responses 1. An attacker induces a backend client, crawler, proxy, AI agent, or similar entity to retrieve an attacker-controlled URL. 2. The client receives a response marked with Content-Encoding: br and automatically decompresses it. 3. The same decoder flaw is triggered inside the client process, potentially leading to crashes, memory information disclosure, and code execution if additional conditions are met. The following table organizes the attack vectors and investigation perspectives. RCE, subsequent child processes, and outbound communications do not occur in all environments. | Attack Stage | Attacker Action / Technique | Tools / Communications | Defender Indicators (Prerequisites / Artifacts) | | --- | --- | --- | --- | | Vector A: Server-Side Request Decompression (Initial Transmission) | Sends a crafted Brotli compressed stream to the server as an HTTP request or API input. | HTTP/HTTPS communication, POST/PUT requests, Content-Encoding: br | Operation of runtimes equipped with vulnerable decoders, and automatic request body decompression settings (such as Express middleware configurations) | | Vector A: Server-Side Request Decompression (Internal Processing) | The server application decompresses a stream containing invalid block switching, triggering an out-of-bounds write. | Internal decoder calls in Node.js, .NET, Python, Envoy, Istio, etc. | Decoder processing errors, process termination (crashes), segmentation faults (segfaults), core dumps | | Vector B: Client-Side Response Decompression (Initial Inducement) | Induces crawlers, backend integration processes, AI agents, etc., to access an attacker-managed URL. | Induced requests to external URLs, external API fetches | Automatic response decompression must be enabled in the component fetching the URL (e.g., built-in fetch()) | | Vector B: Client-Side Response Decompression (Internal Processing) | The client process decompresses the received malicious Brotli response, triggering the same vulnerability. | HTTP responses, Content-Encoding: br, client internal decoders | Abnormal termination of the client process, connection drops, service stoppages, generation of abnormal child processes | | Post-Exploitation (Remote Code Execution & Impact Spread) | Triggers code execution under process privileges or memory information disclosure when memory layout and mitigation conditions are met. | Unauthorized shell commands (e.g., /bin/sh), outbound communication, memory dumps | Suspicious child process launches from web server/client processes, unknown outbound communications | Running an HTTP server on a vulnerable Node.js runtime does not, by itself, cause received bodies to be decompressed with Brotli. A configured request parser or another component must actually decompress the input. Imperva demonstrated RCE on Node.js 24.22.0 (Linux arm64) through both the built-in fetch() response-decompression path and the request-decompression path in a configured Express/body-parser application. The same input was rejected by patched version 24.22.1. These results do not establish successful exploitation on untested builds or architectures. This vulnerability is not specific to HTTP/2. Although nicknames such as "HTTP2Shell," "Node2Shell," and "Broccoli2Shell" exist, the fundamental attack condition is a vulnerable Brotli decoder decompressing data controlled by an attacker. 4. Attacker Position and Execution Location For the server-side vector, the prerequisite is the ability to send compressed requests from the internet or an internal network. For the client-side vector, the requirement is the ability to cause the target to retrieve and decompress an attacker-controlled response. Memory corruption itself occurs inside processes such as Node.js, .NET, Python, or reverse proxies that invoke the Brotli library. 5. Visibility for Victims and Administrators - Victims: May perceive the issue as service unresponsiveness, connection drops, or 5xx errors. - Administrators: May detect decoder process segmentation faults (segfaults), core dumps, unexpected process restarts, or suspicious child process creation and external communications immediately following HTTP request processing. 6. Success and Failure Conditions Success Conditions - The vulnerable Brotli decoder binary is incorporated into the running process. - In .NET environments, this applies to Brotli-enabled request decompression, HttpClient automatic response decompression, or explicit use of BrotliStream / BrotliDecoder. Default configurations of ASP.NET Core and HttpClient do not automatically decompress, and .NET Framework is not affected. Envoy and Istio are also affected when the Brotli decompressor is explicitly enabled. - The target process actually performs decompression processing on attacker-controlled Brotli data. - Whether RCE succeeds also depends on the target version, CPU architecture, memory layout, and OS mitigations such as ASLR. Failure Conditions and Mitigations - Update to patched versions provided by respective vendors, such as Google Brotli (1.0.10, 1.1.1, 1.2.1) or Node.js (22.23.4, 24.22.1, 26.12.1). - Until patching is complete, disable or exclude Brotli request and response decompression processing enabled in existing environments. Microsoft advises against enabling previously unused decompression features as part of a mitigation. - Reject Brotli before decompression, following OpenAI's guidance. Simply removing br from Accept-Encoding or stopping outbound compression on CDNs or web servers does not protect incoming request or client-side response decompression paths. Even if decompression is stopped in Envoy or Istio, compressed data may flow to backend components, so remaining vulnerable decoders must also be protected. - After updating, restart related processes and ensure container images are rebuilt and redeployed. Updating only the operating system's Brotli library may leave vulnerable runtime-bundled copies unchanged. 7. What Happens Upon Success Successful exploitation can crash the decoder process (DoS), disclose process memory, or, when additional conditions are met, execute code with the process's privileges. In .NET environments, this may lead to privilege escalation depending on the application configuration and execution context. 8. Observable Logs The following are investigation ideas (Inference). Available logs vary by product and configuration and do not represent confirmed IOCs observed in active exploitation environments. Normal Content-Encoding: br traffic or data lengths alone cannot be used to conclusively determine an attack. - Email: No email-initiated attack activities specific to this vulnerability have been reported. - Proxy / SWG / DNS: Content-Encoding: br traffic, abnormal responses, and communication histories to backend fetch destinations. - Endpoint / EDR: Segfaults in Node.js, dotnet, Python, or proxies, core dumps, abnormal child process launches, and unexpected allocations of executable memory regions. - Identity / IdP: The reviewed sources do not report authentication IOCs specific to this vulnerability. Investigate possible service account abuse following successful RCE separately. - SaaS / Cloud: Container restarts, Pod CrashLoopBackOff states, spikes in load balancer 5xx errors, and differences in deployed image digests. - Network: Brotli streams chronologically matching decoder errors, repetitive communications from the same source, and request-response flows immediately preceding crashes. 9. Attack Success Determination If the only evidence is the arrival of crafted Brotli data or traffic matching a PoC fingerprint, classify it as an attack attempt. The occurrence of decoder errors or process crashes indicates potential memory corruption but does not immediately signify successful RCE. Confirm initial execution only when there is execution evidence, such as suspicious child processes launched by the decoder process, process telemetry matching attacker commands, or equivalent evidence. Imperva's RCE results were obtained in a research environment using Node.js 24.22.0 (Linux arm64) and specific test configurations; they do not establish reliable reproduction across all environments. 10. Investigation Playbook 1. Trigger: Crashes or segfaults in processes that decompress Brotli data, core dumps, detected PoC fingerprints, or suspicious child processes. 2. Initial Verification: Verify incorporated decoder copies, runtime and package versions, request/response decompression settings, and process restart times. 3. Endpoint Investigation: Preserve and investigate process trees before and after crashes, core dumps, memory faults, launched shells, download tools, and file modification histories. 4. Authentication & Cloud: Check service account and Workload Identity usage history, secret access logs, and cloud API operation logs. 5. Post-Exploitation Tracking: Track traces of credential access, persistence configurations, lateral movement, and data exfiltration. 6. Containment: Temporarily halt suspicious Brotli decompression processing, update to vendor-patched versions, restart processes, and rebuild container images. 7. Judgment Categories: Evaluate distinctly across stages including reachability, decoder errors, crashes, memory information disclosure, RCE, and subsequent compromises. 11. Defense and Detection Ideas - Single Event: Alerts for segfault occurrences in Brotli decompression processes coupled with preceding br encoding communications. - Chronological Correlation: Perform correlation analysis from receiving crafted compressed streams -> decoder errors or process crashes -> process restarts -> generation of suspicious child processes and outbound communications. - Proactive Threat Hunting: Cross-search SBOMs, container image layers, binary dependencies, and runtime-bundled modules to comprehensively identify vulnerable Brotli copies. - Logging Considerations: Identifying causal relationships becomes difficult if TLS-terminated plaintext payloads, client-side response headers, and process crash telemetry are not preserved. - Priority Controls: Prioritize applying vendor-patched versions, restarting processes, rebuilding and redeploying containers, and disabling unnecessary automatic Brotli decompression features. 12. Facts / Inference / Hypothesis Facts - The Node.js project explained the out-of-bounds write mechanism against the 8-byte internal buffer in Brotli and released patched versions. - JPCERT/CC provided guidance on affected versions of Google Brotli and the scope of impact on widespread embedded products. - Imperva demonstrated RCE under specific conditions in a research environment running Node.js 24.22.0 (Linux arm64). - The reviewed public sources do not report malicious exploitation in the wild. Inference - Not only web servers, but also backend clients and crawlers that retrieve data from external URLs and decompress Brotli responses serve as critical attack surfaces. - In asset management, it is necessary to track not only direct package dependencies but also container images, vendor-embedded libraries, and statically linked binaries. Hypothesis No additional hypotheses. Unconfirmed items are listed in "Uncertainties and Additional Investigation." 13. MITRE ATT&CK Mapping | ID | Technique | Confidence | Basis | | --- | --- | --- | --- | | T1190 | Exploit Public-Facing Application | medium | Inference: Mapped to the assumed path where internet-facing applications decompress Brotli requests controlled by attackers. This does not indicate observed active exploitation, and this basis does not apply to paths where clients decompress malicious responses or internal services not exposed externally. | 14. Uncertainties and Additional Investigation - The presence of active exploitation by malicious actors, patch availability status across all embedded products, and detailed RCE success conditions per product and architecture remain unconfirmed. The existence of public PoCs cannot be treated as confirmation of production environment compromise. 15. Impact on SOCs and Organizations Even for organizations that do not directly develop or operate Node.js or .NET internally, API clients, service meshes, proxies, Python packages, and container images bundling the Brotli library may be affected. Create software inventories from both public web services and batch processing tasks retrieving external URLs, and verify patch application and process restarts for each embedded copy. 16. Summary by Target Audience - For SOCs: Monitor process crashes, suspicious child process launches, and outbound communications occurring immediately after Brotli decompression processing by correlating them chronologically with request and response traffic. - For Administrators: Promptly apply patched versions provided by product vendors, and ensure process restarts and container image rebuilds/redeployments are fully completed. - For Users: Follow update guidance and restart procedures provided by service administrators.

    1 reaction
  5. YouTube · · YouTube description · BacklashBrief · envoyproxy/envoy

    Node2Shell: Google's Brotli Bug Hits Node.js, Bun and Python (Update Now) A memory bug in Google's Brotli decoder (CVE-2026-111497) lets crafted compressed data crash an app, leak memory or possibly run an attacker's code. Node.js fixed it on 21 October 2026, and the same decoder also sits in Bun, the Python Brotli and brotlicffi packages, and Envoy. Imperva researchers, who call it "Node2Shell", ran code on an official Node.js build in a lab test; no attacks in the wild have been reported. An OpenAI Codex Security team found it, and the fix sat in Brotli's source code since February without a security release. Honest miss, or should that fix have shipped back in February? Comment your side. Like and subscribe for more. What to update: Node.js 22.23.4, 24.22.1 or 26.12.1 (Node.js 20 and older get no fix). Bun 1.4.4 or newer. Python: Brotli 1.2.1, brotlicffi 1.2.1.0. Envoy 1.40.0, 1.39.3, 1.38.6 or 1.37.8. libbrotli 1.2.1, 1.1.1 or 1.0.10. Then restart services and rebuild container images. Sources: • Node.js security release (21 Oct 2026): nodejs.org • CVE record (Google): cve.org • NVD: nvd.nist.gov • Google Brotli v1.2.1 release: github.com/google/brotli/releases/tag/v1.2.1 • GitHub advisory (Python Brotli): advisories/GHSA-9v8h-qqgm-4m35 • Envoy advisory: github.com/envoyproxy/envoy/security/advisories/G… • Bun fix: bun#46352 and bun.com • The Hacker News (22 Oct): thehackernews.com • The Hacker News (23 Oct): thehackernews.com • The Hacker News (24 Oct): thehackernews.com • Cybernews: cybernews.com Image credits: • Page screenshots: nodejs.org, The Hacker News, GitHub (google/brotli) • Node.js logo via Wikimedia Commons (MIT) • Python logo via Wikimedia Commons • Google "G" logo via Wikimedia Commons • Bun logo: bun.com (official logo) Node.js is a trademark of the OpenJS Foundation. Python is a trademark of the Python Software Foundation. Google and Brotli are trademarks of Google LLC. Bun and Envoy are trademarks of their owners. Used for news commentary. This Short uses an AI voice and AI-assisted editing. Facts checked against the sources above. #NodeJS #CyberSecurity #Node2Shell #TechNews #Shorts [ar] Node2Shell: ثغرة Brotli من جوجل تصيب Node.js وBun وPython (حدّث الآن) ثغرة أمنية في ذاكرة برنامج فك تشفير Brotli من جوجل (CVE-2026-111497) تسمح بتعطيل التطبيقات، وتسريب الذاكرة، أو حتى تشغيل شيفرة برمجية خبيثة. أصلحت Node.js هذه الثغرة في 21 أكتوبر 2026، وهي موجودة أيضًا في Bun، وحزمتي Brotli وbrotlicffi في بايثون، وEnvoy. أجرى باحثو Imperva، الذين أطلقوا عليها اسم "Node2Shell"، اختبارًا عمليًا على نسخة رسمية من Node.js، ولم تُسجّل أي هجمات فعلية. اكتشف فريق أمن OpenAI Codex هذه الثغرة، وظلّ الإصلاح مُضمّنًا في شيفرة Brotli المصدرية منذ فبراير دون إصدار تحديث أمني. هل كان هذا خطأً غير مقصود، أم كان من المفترض إصدار هذا الإصلاح في فبراير؟ شاركنا رأيك في التعليقات. لا تنسَ الإعجاب والاشتراك للمزيد. ما يجب تحديثه: Node.js 22.23.4 أو 24.22.1 أو 26.12.1 (لا يتم إصلاح Node.js 20 والإصدارات الأقدم). Bun 1.4.4 أو أحدث. Python: Brotli 1.2.1 أو brotlicffi 1.2.1.0. Envoy 1.40.0 أو 1.39.3 أو 1.38.6 أو 1.37.8. libbrotli 1.2.1 أو 1.1.1 أو 1.0.10. ثم أعد تشغيل الخدمات وأعد بناء صور الحاويات. المصادر: • إصدار أمني لـ Node.js (21 أكتوبر 2026): nodejs.org • سجل CVE (جوجل): cve.org • قاعدة بيانات الثغرات الأمنية الوطنية (NVD): nvd.nist.gov • إصدار Google Brotli v1.2.1: github.com/google/brotli/releases/tag/v1.2.1 • إشعار GitHub (Python Brotli): advisories/GHSA-9v8h-qqgm-4m35 • إشعار Envoy: github.com/envoyproxy/envoy/security/advisories/G… • إصلاح Bun: bun#46352 و bun.com • ذا هاكر نيوز (22 أكتوبر): thehackernews.com • ذا هاكر نيوز (23 أكتوبر): thehackernews.com • ذا هاكر نيوز (24 أكتوبر): thehackernews.com • سايبر نيوز: cybernews.com مصادر الصور: • لقطات شاشة للصفحة: nodejs.org، The Hacker News، GitHub (google/brotli) • شعار Node.js عبر ويكيميديا ​​كومنز (MIT) • شعار بايثون عبر ويكيميديا ​​كومنز • شعار جوجل "G" عبر ويكيميديا ​​كومنز • شعار Bun: bun.com (الشعار الرسمي) Node.js علامة تجارية لمؤسسة OpenJS. بايثون علامة تجارية لمؤسسة برمجيات بايثون. جوجل وBrotli علامتان تجاريتان لشركة جوجل. Bun وEnvoy علامتان تجاريتان لمالكيهما. استُخدمت هذه المعلومات لأغراض التعليق الإخباري. يستخدم هذا الفيديو القصير تقنية الذكاء الاصطناعي في التعليق الصوتي والتحرير. تم التحقق من الحقائق بالرجوع إلى المصادر المذكورة أعلاه. #NodeJS #CyberSecurity #Node2Shell #TechNews #Shorts [bn] Node2Shell: গুগলের Brotli বাগ Node.js, Bun এবং Python-এ আঘাত হেনেছে (এখনই আপডেট করুন) গুগলের ব্রোটলি ডিকোডারের (CVE-2026-111497) একটি মেমরি বাগের কারণে বিশেষভাবে তৈরি করা কম্প্রেসড ডেটা একটি অ্যাপ ক্র্যাশ করতে, মেমরি লিক করতে অথবা আক্রমণকারীর কোড চালাতে পারে। নোড.জেএস (Node.js) ২১ অক্টোবর ২০২৬ তারিখে এটি ঠিক করেছে, এবং একই ডিকোডারটি বান (Bun), পাইথনের ব্রোটলি (Brotli) ও ব্রোটলিকএফএফআই (brotlicffi) প্যাকেজ এবং এনভয় (Envoy)-তেও রয়েছে। ইম্পারভা (Imperva)-র গবেষকরা, যারা এটিকে "নোডটুশেল" (Node2Shell) বলেন, একটি ল্যাব টেস্টে অফিসিয়াল নোড.জেএস বিল্ডে কোডটি চালিয়েছিলেন; বাস্তবে কোনো আক্রমণের খবর পাওয়া যায়নি। ওপেনএআই কোডেক্স সিকিউরিটি (OpenAI Codex Security)-র একটি দল এটি খুঁজে পায়, এবং কোনো সিকিউরিটি রিলিজ ছাড়াই ফেব্রুয়ারি মাস থেকে এর সমাধানটি ব্রোটলির সোর্স কোডে ছিল। এটি কি একটি সাধারণ ভুল, নাকি সমাধানটি ফেব্রুয়ারিতেই প্রকাশ করা উচিত ছিল? আপনার মতামত কমেন্ট করে জানান। আরও ভিডিওর জন্য লাইক এবং সাবস্ক্রাইব করুন। কী আপডেট করতে হবে: নোড.জেএস ২২.২৩.৪, ২৪.২২.১ অথবা ২৬.১২.১ (নোড.জেএস ২০ এবং এর আগের সংস্করণগুলোর জন্য কোনো সমাধান নেই)। Bun 1.4.4 বা নতুন সংস্করণ। Python: Brotli 1.2.1, brotlicffi 1.2.1.0। Envoy 1.40.0, 1.39.3, 1.38.6 বা 1.37.8। libbrotli 1.2.1, 1.1.1 বা 1.0.10। তারপর সার্ভিসগুলো রিস্টার্ট করুন এবং কন্টেইনার ইমেজগুলো রি-বিল্ড করুন। উৎসসমূহ: • Node.js নিরাপত্তা রিলিজ (২১ অক্টোবর ২০২৬): nodejs.org • CVE রেকর্ড (গুগল): cve.org • NVD: nvd.nist.gov • গুগল ব্রোটলি v1.2.1 রিলিজ: github.com/google/brotli/releases/tag/v1.2.1 • গিটহাব অ্যাডভাইজরি (পাইথন ব্রোটলি): advisories/GHSA-9v8h-qqgm-4m35 • এনভয় অ্যাডভাইজরি: github.com/envoyproxy/envoy/security/advisories/G… • Bun ফিক্স: bun#46352 এবং bun.com • দ্য হ্যাকার নিউজ (২২ অক্টোবর): thehackernews.com • দ্য হ্যাকার নিউজ (২৩ অক্টোবর): thehackernews.com • দ্য হ্যাকার নিউজ (২৪ অক্টোবর): thehackernews.com • সাইবারনিউজ: cybernews.com ছবির উৎস: • পেজের স্ক্রিনশট: nodejs.org, The Hacker News, GitHub (google/brotli) • উইকিমিডিয়া কমন্সের সৌজন্যে Node.js লোগো (MIT) • উইকিমিডিয়া কমন্সের সৌজন্যে Python লোগো • উইকিমিডিয়া কমন্সের সৌজন্যে Google "G" লোগো • Bun লোগো: bun.com (অফিসিয়াল লোগো) Node.js হলো OpenJS ফাউন্ডেশনের একটি ট্রেডমার্ক। Python হলো Python সফটওয়্যার ফাউন্ডেশনের একটি ট্রেডমার্ক। Google এবং Brotli হলো Google LLC-এর ট্রেডমার্ক। Bun এবং Envoy হলো তাদের নিজ নিজ মালিকদের ট্রেডমার্ক। সংবাদ ভাষ্যের জন্য ব্যবহৃত। এই শর্টটিতে একটি AI ভয়েস এবং AI-সহায়তায় সম্পাদনা ব্যবহার করা হয়েছে। উপরের উৎসগুলোর সাথে তথ্য যাচাই করা হয়েছে। #NodeJS #CyberSecurity #Node2Shell #TechNews #Shorts [de-DE] Node2Shell: Googles Brotli-Bug trifft Node.js, Bun und Python (Jetzt updaten) Ein Speicherfehler im Brotli-Decoder von Google (CVE-2026-111497) ermöglicht es, durch manipulierte komprimierte Daten eine Anwendung zum Absturz zu bringen, Speicherlecks zu verursachen oder möglicherweise Schadcode auszuführen. Node.js hat den Fehler am 21. Oktober 2026 behoben. Derselbe Decoder ist auch in Bun, den Python-Paketen Brotli und brotlicffi sowie in Envoy enthalten. Forscher von Imperva, die ihn „Node2Shell“ nennen, testeten den Code in einem Labor mit einer offiziellen Node.js-Version. Bisher wurden keine Angriffe in freier Wildbahn gemeldet. Ein Sicherheitsteam des OpenAI Codex entdeckte den Fehler, und die Korrektur war seit Februar ohne Sicherheitsupdate im Quellcode von Brotli enthalten. War das ein Versehen, oder hätte die Korrektur bereits im Februar veröffentlicht werden sollen? Teilen Sie Ihre Meinung in den Kommentaren. Liken und abonnieren Sie für mehr. Zu aktualisierende Versionen: Node.js 22.23.4, 24.22.1 oder 26.12.1 (Node.js 20 und ältere Versionen erhalten keine Korrektur). Bun 1.4.4 oder neuer. Python: Brotli 1.2.1, brotlicffi 1.2.1.0. Envoy 1.40.0, 1.39.3, 1.38.6 oder 1.37.8. libbrotli 1.2.1, 1.1.1 oder 1.0.10. Starten Sie anschließend die Dienste neu und erstellen Sie die Container-Images neu. ... Quellen: • Node.js-Sicherheitsupdate (21. Oktober 2026): nodejs.org • CVE-Eintrag (Google): cve.org • NVD: nvd.nist.gov • Google Brotli v1.2.1: github.com/google/brotli/releases/tag/v1.2.1 • GitHub-Warnung (Python Brotli): advisories/GHSA-9v8h-qqgm-4m35 • Envoy-Warnung: github.com/envoyproxy/envoy/security/advisories/G… • Bun-Fix: bun#46352 und bun.com • The Hacker News (22. Okt.): thehackernews.com • The Hacker News (23. Okt.): thehackernews.com • The Hacker News (24. Okt.): thehackernews.com • Cybernews: cybernews.com Bildnachweise: • Screenshots: nodejs.org, The Hacker News, GitHub (google/brotli) • Node.js-Logo via Wikimedia Commons (MIT) • Python-Logo via Wikimedia Commons • Google-„G“-Logo via Wikimedia Commons • Bun-Logo: bun.com (offizielles Logo) Node.js ist eine Marke der OpenJS Foundation. Python ist eine Marke der Python Software Foundation. Google und Brotli sind Marken von Google LLC. Bun und Envoy sind Marken ihrer jeweiligen Inhaber. Verwendung für Nachrichtenkommentare. Dieser Kurzbeitrag wurde mit KI-Stimme und KI-gestützter Bearbeitung erstellt. Die Fakten wurden anhand der oben genannten Quellen überprüft. #NodeJS #CyberSecurity #Node2Shell #TechNews #Shorts [es-US] Node2Shell: El bug de Brotli de Google afecta a Node.js, Bun y Python (Actualiza ahora) Un fallo de memoria en el decodificador Brotli de Google (CVE-2026-111497) permite que datos comprimidos manipulados provoquen el bloqueo de una aplicación, fugas de memoria o incluso la ejecución de código malicioso. Node.js lo solucionó el 21 de octubre de 2026, y el mismo decodificador también se encuentra en Bun, los paquetes Brotli y brotlicffi de Python, y Envoy. Investigadores de Imperva, que lo denominan "Node2Shell", ejecutaron código en una compilación oficial de Node.js en una prueba de laboratorio; no se han reportado ataques en la práctica. Un equipo de seguridad de OpenAI Codex descubrió el fallo, y la solución permaneció en el código fuente de Brotli desde febrero sin una actualización de seguridad. ¿Fue un error honesto o debería haberse implementado la solución en febrero? Deja tu opinión en los comentarios. Dale a "Me gusta" y suscríbete para más contenido. Qué actualizar: Node.js 22.23.4, 24.22.1 o 26.12.1 (Node.js 20 y versiones anteriores no reciben corrección). Bun 1.4.4 o posterior. Python: Brotli 1.2.1, brotlicffi 1.2.1.0. Envoy 1.40.0, 1.39.3, 1.38.6 o 1.37.8. libbrotli 1.2.1, 1.1.1 o 1.0.10. Luego, reinicie los servicios y reconstruya las imágenes de los contenedores. Fuentes: • Comunicado de seguridad de Node.js (21 de octubre de 2026): nodejs.org • Registro CVE (Google): cve.org • NVD: nvd.nist.gov • Versión 1.2.1 de Google Brotli: github.com/google/brotli/releases/tag/v1.2.1 • Aviso de GitHub (Python Brotli): advisories/GHSA-9v8h-qqgm-4m35 • Aviso de Envoy: github.com/envoyproxy/envoy/security/advisories/G… • Corrección de Bun: bun#46352 y bun.com • The Hacker News (22 de octubre): thehackernews.com • The Hacker News (23 de octubre): thehackernews.com • The Hacker News (24 de octubre): thehackernews.com • Cybernews: cybernews.com Créditos de las imágenes: • Capturas de pantalla de la página: nodejs.org, The Hacker News, GitHub (google/brotli) • Logotipo de Node.js vía Wikimedia Commons (MIT) • Logotipo de Python vía Wikimedia Commons • Logotipo de Google (la "G") vía Wikimedia Commons • Logotipo de Bun: bun.com (logotipo oficial) Node.js es una marca registrada de la OpenJS Foundation. Python es una marca registrada de la Python Software Foundation. Google y Brotli son marcas registradas de Google LLC. Bun y Envoy son marcas registradas de sus respectivos propietarios. Usadas para comentarios informativos. Este artículo breve utiliza voz generada por IA y edición asistida por IA. Los datos se verificaron con las fuentes mencionadas. #NodeJS #Ciberseguridad #Node2Shell #NoticiasTecnológicas #ArtículosBreves [fr-FR] Node2Shell : La faille Brotli de Google affecte Node.js, Bun et Python (Mise à jour disponible) Une faille de mémoire dans le décodeur Brotli de Google (CVE-2026-111497) permet à des données compressées spécialement conçues de provoquer le plantage d'une application, une fuite de mémoire, voire l'exécution de code malveillant. Node.js a corrigé cette faille le 21 octobre 2026. Ce même décodeur est également présent dans Bun, les packages Python Brotli et brotlicffi, ainsi que dans Envoy. Les chercheurs d'Imperva, qui la surnomment « Node2Shell », ont testé cette vulnérabilité sur une version officielle de Node.js en laboratoire ; aucune attaque n'a été signalée depuis. L'équipe de sécurité d'OpenAI Codex a découvert la faille, et le correctif était présent dans le code source de Brotli depuis février sans qu'une mise à jour de sécurité ne soit publiée. Simple erreur, ou ce correctif aurait-il dû être déployé dès février ? Donnez votre avis. Abonnez-vous pour plus de contenu. Mises à jour requises : Node.js 22.23.4, 24.22.1 ou 26.12.1 (Node.js 20 et versions antérieures ne sont pas concernées). Bun 1.4.4 ou version ultérieure. Python : Brotli 1.2.1, brotlicffi 1.2.1.0. Envoy 1.40.0, 1.39.3, 1.38.6 ou 1.37.8. libbrotli 1.2.1, 1.1.1 ou 1.0.10. Redémarrez ensuite les services et reconstruisez les images de conteneur. Sources : • Correctif de sécurité Node.js (21 oct. 2026) : nodejs.org • Fiche CVE (Google) : cve.org • NVD : nvd.nist.gov • Version 1.2.1 de Google Brotli : github.com/google/brotli/releases/tag/v1.2.1 • Avis de sécurité GitHub (Python Brotli) : advisories/GHSA-9v8h-qqgm-4m35 • Avis de sécurité Envoy : github.com/envoyproxy/envoy/security/advisories/G… • Correctif Bun : bun#46352 et bun.com • The Hacker News (22 oct.) : thehackernews.com • The Hacker News (23 oct.) : thehackernews.com • The Hacker News (24 oct.) : thehackernews.com • Cybernews : cybernews.com Crédits images : • Captures d’écran : nodejs.org, The Hacker News, GitHub (google/brotli) • Logo Node.js : Wikimedia Commons (MIT) • Logo Python : Wikimedia Commons • Logo « G » de Google : Wikimedia Commons • Logo Bun : bun.com (logo officiel) Node.js est une marque déposée de la Fondation OpenJS. Python est une marque déposée de la Fondation Python Software. Google et Brotli sont des marques déposées de Google LLC. Bun et Envoy sont des marques déposées de leurs propriétaires respectifs. Utilisé à des fins de commentaire. Ce court métrage utilise une voix de synthèse et un montage assisté par IA. Les faits ont été vérifiés à partir des sources ci-dessus. #NodeJS #CyberSecurity #Node2Shell #TechNews #Shorts [hi] Node2Shell: गूगल का Brotli बग Node.js, Bun और Python को प्रभावित कर रहा है (अभी अपडेट करें) Google के Brotli डिकोडर में मौजूद मेमोरी बग (CVE-2026-111497) के कारण, संशोधित संपीड़ित डेटा किसी ऐप को क्रैश कर सकता है, मेमोरी लीक कर सकता है या संभवतः हमलावर का कोड चला सकता है। Node.js ने इसे 21 अक्टूबर 2026 को ठीक कर दिया था, और यही डिकोडर Bun, Python के Brotli और brotlicffi पैकेजों और Envoy में भी मौजूद है। Imperva के शोधकर्ताओं, जो इसे "Node2Shell" कहते हैं, ने एक लैब टेस्ट में आधिकारिक Node.js बिल्ड पर कोड चलाया; अभी तक किसी भी तरह के हमले की रिपोर्ट नहीं मिली है। OpenAI Codex सुरक्षा टीम ने इसे खोजा था, और यह फिक्स फरवरी से ही Brotli के सोर्स कोड में बिना किसी सुरक्षा रिलीज़ के मौजूद था। क्या यह एक चूक थी, या यह फिक्स फरवरी में ही जारी कर दिया जाना चाहिए था? अपनी राय कमेंट करें। अधिक जानकारी के लिए लाइक और सब्सक्राइब करें। क्या अपडेट करना है: Node.js 22.23.4, 24.22.1 या 26.12.1 (Node.js 20 और पुराने संस्करणों के लिए कोई समाधान नहीं है)। Bun 1.4.4 या नया संस्करण। Python: Brotli 1.2.1, brotlicffi 1.2.1.0। Envoy 1.40.0, 1.39.3, 1.38.6 या 1.37.8। libbrotli 1.2.1, 1.1.1 या 1.0.10। फिर सेवाओं को रीस्टार्ट करें और कंटेनर इमेज को रीबिल्ड करें। स्रोत: • Node.js सुरक्षा रिलीज़ (21 अक्टूबर 2026): nodejs.org • CVE रिकॉर्ड (Google): cve.org • NVD: nvd.nist.gov • Google Brotli v1.2.1 रिलीज़: github.com/google/brotli/releases/tag/v1.2.1 • GitHub एडवाइज़री (Python Brotli): advisories/GHSA-9v8h-qqgm-4m35 • Envoy एडवाइज़री: github.com/envoyproxy/envoy/security/advisories/G… • Bun फिक्स: bun#46352 और bun.com • द हैकर न्यूज़ (22 अक्टूबर): thehackernews.com • द हैकर न्यूज़ (23 अक्टूबर): thehackernews.com • द हैकर न्यूज़ (24 अक्टूबर): thehackernews.com • साइबरन्यूज़: cybernews.com छवि क्रेडिट: • पृष्ठ स्क्रीनशॉट: nodejs.org, द हैकर न्यूज़, GitHub (google/brotli) • Node.js लोगो विकिमीडिया कॉमन्स (MIT) के माध्यम से • Python लोगो विकिमीडिया कॉमन्स के माध्यम से • Google "G" लोगो विकिमीडिया कॉमन्स के माध्यम से • Bun लोगो: bun.com (आधिकारिक लोगो) Node.js ओपनजेएस फाउंडेशन का ट्रेडमार्क है। Python, Python सॉफ्टवेयर फाउंडेशन का ट्रेडमार्क है। Google और Brotli, Google LLC के ट्रेडमार्क हैं। Bun और Envoy, उनके स्वामियों के ट्रेडमार्क हैं। समाचार टिप्पणी के लिए उपयोग किया गया। इस लघु वीडियो में कृत्रिम आवाज और कृत्रिम संपादन का उपयोग किया गया है। तथ्यों की जांच उपरोक्त स्रोतों से की गई है। #NodeJS #साइबरसुरक्षा #Node2Shell #तकनीकीसमाचार #शॉर्ट्स [id] Node2Shell: Bug Brotli Google Menyerang Node.js, Bun, dan Python (Segera Perbarui) Sebuah celah keamanan memori pada decoder Brotli milik Google (CVE-2026-111497) memungkinkan data terkompresi yang dibuat khusus untuk menyebabkan aplikasi crash, kebocoran memori, atau bahkan menjalankan kode penyerang. Node.js memperbaikinya pada 21 Oktober 2026, dan decoder yang sama juga terdapat di Bun, paket Python Brotli dan brotlicffi, serta Envoy. Peneliti Imperva, yang menyebutnya "Node2Shell", menjalankan kode pada build Node.js resmi dalam uji laboratorium; belum ada serangan yang dilaporkan di lapangan. Tim Keamanan OpenAI Codex menemukannya, dan perbaikan tersebut telah ada di kode sumber Brotli sejak Februari tanpa rilis keamanan. Kesalahan yang jujur, atau seharusnya perbaikan tersebut sudah dirilis sejak Februari? Berikan pendapat Anda. Sukai dan berlangganan untuk informasi lebih lanjut. Yang perlu diperbarui: Node.js 22.23.4, 24.22.1 atau 26.12.1 (Node.js 20 dan yang lebih lama tidak mendapatkan perbaikan). Bun 1.4.4 atau yang lebih baru. Python: Brotli 1.2.1, brotlicffi 1.2.1.0. Envoy 1.40.0, 1.39.3, 1.38.6 atau 1.37.8. libbrotli 1.2.1, 1.1.1 atau 1.0.10. Kemudian mulai ulang layanan dan bangun ulang citra kontainer. Sumber: • Rilis keamanan Node.js (21 Oktober 2026): nodejs.org • Catatan CVE (Google): cve.org • NVD: nvd.nist.gov • Rilis Google Brotli v1.2.1: github.com/google/brotli/releases/tag/v1.2.1 • Pemberitahuan GitHub (Python Brotli): advisories/GHSA-9v8h-qqgm-4m35 • Pemberitahuan Envoy: github.com/envoyproxy/envoy/security/advisories/G… • Perbaikan Bun: bun#46352 dan bun.com • The Hacker News (22 Okt): thehackernews.com • The Hacker News (23 Okt): thehackernews.com • The Hacker News (24 Okt): thehackernews.com • Berita Siber: cybernews.com Sumber gambar: • Tangkapan layar halaman: nodejs.org, The Hacker News, GitHub (google/brotli) • Logo Node.js melalui Wikimedia Commons (MIT) • Logo Python melalui Wikimedia Commons • Logo Google "G" melalui Wikimedia Commons • Logo Bun: bun.com (logo resmi) Node.js adalah merek dagang dari OpenJS Foundation. Python adalah merek dagang dari Python Software Foundation. Google dan Brotli adalah merek dagang dari Google LLC. Bun dan Envoy adalah merek dagang dari pemiliknya. Digunakan untuk komentar berita. Video pendek ini menggunakan suara AI dan pengeditan yang dibantu AI. Fakta diperiksa terhadap sumber di atas. #NodeJS #KeamananSiber #Node2Shell #BeritaTeknologi #VideoPendek [it] Node2Shell: il bug di Brotli di Google colpisce Node.js, Bun e Python (Aggiorna ora) Un bug di memoria nel decoder Brotli di Google (CVE-2026-111497) permette a dati compressi appositamente creati di causare il crash di un'applicazione, perdite di memoria o potenzialmente l'esecuzione di codice malevolo. Node.js lo ha corretto il 21 ottobre 2026 e lo stesso decoder è presente anche in Bun, nei pacchetti Python Brotli e brotlicffi e in Envoy. I ricercatori di Imperva, che lo chiamano "Node2Shell", hanno eseguito del codice su una build ufficiale di Node.js in un test di laboratorio; non sono stati segnalati attacchi reali. Un team di sicurezza di OpenAI Codex lo ha scoperto e la correzione era presente nel codice sorgente di Brotli da febbraio senza essere stata rilasciata in una versione di sicurezza. Si tratta di una svista in buona fede o la correzione avrebbe dovuto essere rilasciata a febbraio? Commentate e dite la vostra. Mettete "Mi piace" e iscrivetevi per altri contenuti. Cosa aggiornare: Node.js 22.23.4, 24.22.1 o 26.12.1 (Node.js 20 e versioni precedenti non riceveranno la correzione). Bun 1.4.4 o versioni successive. Python: Brotli 1.2.1, brotlicffi 1.2.1.0. Envoy 1.40.0, 1.39.3, 1.38.6 o 1.37.8. libbrotli 1.2.1, 1.1.1 o 1.0.10. Quindi riavviare i servizi e ricreare le immagini dei container. Fonti: • Aggiornamento di sicurezza di Node.js (21 ottobre 2026): nodejs.org • Record CVE (Google): cve.org • NVD: nvd.nist.gov • Rilascio di Google Brotli v1.2.1: github.com/google/brotli/releases/tag/v1.2.1 • Avviso di sicurezza di GitHub (Python Brotli): advisories/GHSA-9v8h-qqgm-4m35 • Avviso di sicurezza di Envoy: Italiano: github.com/envoyproxy/envoy/security/advisories/G… • Correzione di Bun: bun#46352 e bun.com • The Hacker News (22 ottobre): thehackernews.com • The Hacker News (23 ottobre): thehackernews.com • The Hacker News (24 ottobre): thehackernews.com • Cybernews: Italiano: cybernews.com Crediti immagini: • Screenshot della pagina: nodejs.org, The Hacker News, GitHub (google/brotli) • Logo Node.js tramite Wikimedia Commons (MIT) • Logo Python tramite Wikimedia Commons • Logo "G" di Google tramite Wikimedia Commons • Logo Bun: bun.com (logo ufficiale) Node.js è un marchio registrato della OpenJS Foundation. Python è un marchio registrato della Python Software Foundation. Google e Brotli sono marchi registrati di Google LLC. Bun e Envoy sono marchi registrati dei rispettivi proprietari. Utilizzati per commenti alle notizie. Questo breve video utilizza una voce AI e un editing assistito dall'IA. I fatti sono stati verificati con le fonti sopra indicate. #NodeJS #CyberSecurity #Node2Shell #TechNews #Shorts [iw] Node2Shell: באג ה-Brotli של גוגל פוגע ב-Node.js, ב-Bun ובפייתון (עדכנו עכשיו) באג זיכרון במפענח Brotli של גוגל (CVE-2026-111497) מאפשר לנתונים דחוסים שנוצרו לקרוס אפליקציה, לדלוף זיכרון או אולי להריץ קוד של תוקף. Node.js תיקן אותו ב-21 באוקטובר 2026, ואותו מפענח נמצא גם ב-Bun, בחבילות Python Brotli ו-brotlicffi, וב-Envoy. חוקרי Imperva, המכנים אותו "Node2Shell", הרצו קוד על מבנה רשמי של Node.js בבדיקת מעבדה; לא דווח על התקפות בשטח. צוות אבטחת Codex של OpenAI מצא אותו, והתיקון ישב בקוד המקור של Brotli מאז פברואר ללא מהדורת אבטחה. טעות כנה, או שהתיקון הזה היה צריך להישלח בפברואר? הגיבו מהצד שלכם. לייק והירשמו לעוד. מה לעדכן: Node.js 22.23.4, 24.22.1 או 26.12.1 (Node.js 20 ומעלה לא מקבלים תיקון). Bun 1.4.4 או גרסה חדשה יותר. Python: Brotli 1.2.1, brotlicffi 1.2.1.0. Envoy 1.40.0, 1.39.3, 1.38.6 או 1.37.8. libbrotli 1.2.1, 1.1.1 או 1.0.10. לאחר מכן, הפעל מחדש את השירותים ובנה מחדש תמונות של המכולה. מקורות: • גרסת אבטחה של Node.js (21 באוקטובר 2026): nodejs.org • רשומת CVE (גוגל): cve.org • NVD: nvd.nist.gov • גרסת Google Brotli גרסה 1.2.1: github.com/google/brotli/releases/tag/v1.2.1 • ייעוץ GitHub (Python Brotli): advisories/GHSA-9v8h-qqgm-4m35 • ייעוץ Envoy: github.com/envoyproxy/envoy/security/advisories/G… • תיקון Bun: bun#46352 ו- bun.com • חדשות ההאקרים (22 באוקטובר): thehackernews.com • חדשות ההאקרים (23 באוקטובר): thehackernews.com • חדשות ההאקרים (24 ​​באוקטובר): thehackernews.com • חדשות סייבר: cybernews.com קרדיטים לתמונה: • צילומי מסך של הדף: nodejs.org, The Hacker News, GitHub (google/brotli) • לוגו Node.js דרך Wikimedia Commons (MIT) • לוגו Python דרך Wikimedia Commons • לוגו "G" של גוגל דרך Wikimedia Commons • לוגו Bun: bun.com (לוגו רשמי) Node.js הוא סימן מסחרי של OpenJS Foundation. Python הוא סימן מסחרי של Python Software Foundation. Google ו-Brotli הם סימנים מסחריים של Google LLC. Bun ו-Envoy הם סימנים מסחריים של בעליהם. משמשים לפרשנות חדשותית. סרטון קצר זה משתמש בקול בינה מלאכותית ובעריכה בסיוע בינה מלאכותית. העובדות נבדקו מול המקורות לעיל. #NodeJS #CyberSecurity #Node2Shell #TechNews #Shorts [ja] Node2Shell:GoogleのBrotliライブラリの脆弱性がNode.js、Bun、Pythonに影響(今すぐアップデートを) GoogleのBrotliデコーダーに存在するメモリバグ(CVE-2026-111497)により、細工された圧縮データによってアプリがクラッシュしたり、メモリリークが発生したり、攻撃者のコードが実行されたりする可能性があります。Node.jsは2026年10月21日にこのバグを修正しましたが、同じデコーダーはBun、PythonのBrotliおよびbrotlicffiパッケージ、そしてEnvoyにも含まれています。Impervaの研究者たちは、このバグを「Node2Shell」と呼び、ラボテストで公式のNode.jsビルドに対してコードを実行しました。実際の攻撃は報告されていません。OpenAI Codex Securityチームがこのバグを発見し、修正は2月からBrotliのソースコードにセキュリティリリースなしで含まれていました。 これは見落としでしょうか?それとも2月に修正をリリースすべきだったのでしょうか?ご意見をお聞かせください。いいねとチャンネル登録をお願いします。 アップデート対象:Node.js 22.23.4、24.22.1、または26.12.1(Node.js 20以前のバージョンには修正は適用されません)。 Bun 1.4.4 以降。Python: Brotli 1.2.1、brotlicffi 1.2.1.0。Envoy 1.40.0、1.39.3、1.38.6、または 1.37.8。libbrotli 1.2.1、1.1.1、または 1.0.10。その後、サービスを再起動し、コンテナイメージを再構築してください。 情報源: • Node.js セキュリティリリース(2026年10月21日):nodejs.org • CVE レコード(Google):cve.org • NVD:nvd.nist.gov • Google Brotli v1.2.1 リリース:github.com/google/brotli/releases/tag/v1.2.1 • GitHub アドバイザリ(Python Brotli):advisories/GHSA-9v8h-qqgm-4m35 • Envoy アドバイザリ: github.com/envoyproxy/envoy/security/advisories/G… • Bunの修正: bun#46352 および bun.com • The Hacker News (10月22日): thehackernews.com • The Hacker News (10月23日): thehackernews.com • The Hacker News (10月24日): thehackernews.com • Cyber​​news: cybernews.com 画像クレジット: • ページスクリーンショット:nodejs.org、The Hacker News、GitHub(google/brotli) • Node.jsロゴ:Wikimedia Commons(MIT) • Pythonロゴ:Wikimedia Commons • Google「G」ロゴ:Wikimedia Commons • Bunロゴ:bun.com(公式ロゴ) Node.jsはOpenJS Foundationの商標です。PythonはPython Software Foundationの商標です。GoogleおよびBrotliはGoogle LLCの商標です。BunおよびEnvoyはそれぞれの所有者の商標です。ニュース解説のために使用しています。 このショート動画はAI音声とAIによる編集を使用しています。事実確認は上記の情報源に基づいて行っています。 #NodeJS #サイバーセキュリティ #Node2Shell #テクノロジーニュース #ショート動画 [ko] Node2Shell: 구글 Brotli 버그, Node.js, Bun 및 Python 강타 (지금 업데이트하세요) Google의 Brotli 디코더에서 발견된 메모리 버그(CVE-2026-111497)로 인해 조작된 압축 데이터가 앱을 충돌시키거나 메모리 누수를 일으키거나 공격자의 코드를 실행할 수 있습니다. Node.js는 2026년 10월 21일에 이 버그를 수정했으며, 동일한 디코더는 Bun, Python의 Brotli 및 brotlicffi 패키지, 그리고 Envoy에도 포함되어 있습니다. Imperva 연구진은 "Node2Shell"이라는 이름으로 공식 Node.js 빌드에서 테스트 코드를 실행해 보았지만, 실제 공격 사례는 보고되지 않았습니다. 이 버그는 OpenAI Codex 보안 팀에서 발견했으며, 수정 사항은 2월부터 Brotli 소스 코드에 포함되어 있었지만 보안 릴리스에는 포함되지 않았습니다. 이것이 실수였을까요, 아니면 2월에 수정 사항이 배포되었어야 했을까요? 여러분의 의견을 댓글로 남겨주세요. 더 많은 정보를 원하시면 좋아요와 구독을 부탁드립니다. 업데이트 대상: Node.js 22.23.4, 24.22.1 또는 26.12.1 (Node.js 20 이하 버전에는 수정 사항이 적용되지 않습니다.) Bun 1.4.4 이상. Python: Brotli 1.2.1, brotlicffi 1.2.1.0. Envoy 1.40.0, 1.39.3, 1.38.6 또는 1.37.8. libbrotli 1.2.1, 1.1.1 또는 1.0.10. 그런 다음 서비스를 재시작하고 컨테이너 이미지를 다시 빌드하십시오. 출처: • Node.js 보안 릴리스(2026년 10월 21일): nodejs.org • CVE 기록(Google): cve.org • NVD: nvd.nist.gov • Google Brotli v1.2.1 릴리스: github.com/google/brotli/releases/tag/v1.2.1 • GitHub 권고(Python Brotli): advisories/GHSA-9v8h-qqgm-4m35 • Envoy 권고: github.com/envoyproxy/envoy/security/advisories/G… • Bun 수정 사항: bun#46352 및 bun.com • The Hacker News (10월 22일): thehackernews.com • The Hacker News (10월 23일): thehackernews.com • The Hacker News (10월 24일): thehackernews.com • Cybernews: cybernews.com 이미지 출처: • 페이지 스크린샷: nodejs.org, The Hacker News, GitHub (google/brotli) • Node.js 로고: Wikimedia Commons (MIT) • Python 로고: Wikimedia Commons • Google "G" 로고: Wikimedia Commons • Bun 로고: bun.com (공식 로고) Node.js는 OpenJS Foundation의 상표입니다. Python은 Python Software Foundation의 상표입니다. Google 및 Brotli는 Google LLC의 상표입니다. Bun 및 Envoy는 해당 소유자의 상표입니다. 뉴스 해설에 사용되었습니다. 본 Short는 AI 음성 및 AI 기반 편집을 사용했습니다. 위의 출처를 통해 사실 확인을 완료했습니다. #NodeJS #사이버보안 #Node2Shell #기술뉴스 #Shorts [ml] Node2Shell: Google-ന്റെ Brotli ബഗ് Node.js, Bun, Python എന്നിവയെ ബാധിക്കുന്നു (ഉടൻ അപ്‌ഡേറ്റ് ചെയ... ഗൂഗിളിന്റെ ബ്രോട്ട്ലി ഡീകോഡറിലെ (CVE-2026-111497) ഒരു മെമ്മറി ബഗ്, ക്രാഫ്റ്റ് ചെയ്ത കംപ്രസ് ചെയ്ത ഡാറ്റ ഒരു ആപ്പിനെ ക്രാഷ് ചെയ്യാനോ, മെമ്മറി ചോർത്താനോ അല്ലെങ്കിൽ ഒരു ആക്രമണകാരിയുടെ കോഡ് പ്രവർത്തിപ്പിക്കാനോ അനുവദിക്കുന്നു. 2026 ഒക്ടോബർ 21-ന് Node.js ഇത് പരിഹരിച്ചു, അതേ ഡീകോഡർ ബൺ, പൈത്തൺ ബ്രോട്ട്ലി, ബ്രോട്ട്ലിഫി പാക്കേജുകൾ, എൻവോയ് എന്നിവയിലും ഉണ്ട്. ഇതിനെ "Node2Shell" എന്ന് വിളിക്കുന്ന ഇംപെർവ ഗവേഷകർ, ഒരു ലാബ് പരിശോധനയിൽ Node.js ന്റെ ഔദ്യോഗിക ബിൽഡിൽ കോഡ് റൺ ചെയ്തു; വൈൽഡിൽ ഒരു ആക്രമണവും റിപ്പോർട്ട് ചെയ്തിട്ടില്ല. ഒരു OpenAI കോഡെക്സ് സെക്യൂരിറ്റി ടീം ഇത് കണ്ടെത്തി, ഫെബ്രുവരി മുതൽ സുരക്ഷാ റിലീസ് ഇല്ലാതെ ബ്രോട്ട്ലിയുടെ സോഴ്‌സ് കോഡിൽ ഈ പരിഹാരം ഉണ്ടായിരുന്നു. ശരിക്കും മിസ്, അല്ലെങ്കിൽ ആ പരിഹാരം ഫെബ്രുവരിയിൽ തിരികെ അയച്ചിരിക്കണമോ? നിങ്ങളുടെ ഭാഗത്ത് അഭിപ്രായം രേഖപ്പെടുത്തുക. കൂടുതലറിയാൻ ലൈക്ക് ചെയ്ത് സബ്‌സ്‌ക്രൈബ് ചെയ്യുക. എന്താണ് അപ്ഡേറ്റ് ചെയ്യേണ്ടത്: Node.js 22.23.4, 24.22.1 അല്ലെങ്കിൽ 26.12.1 (Node.js 20 ഉം അതിനുമുകളിലും പഴയവയ്ക്ക് പരിഹാരമില്ല). ബൺ 1.4.4 അല്ലെങ്കിൽ പുതിയത്. പൈത്തൺ: ബ്രോട്ട്ലി 1.2.1, ബ്രോട്ട്ലിഫി 1.2.1.0. എൻവോയ് 1.40.0, 1.39.3, 1.38.6 അല്ലെങ്കിൽ 1.37.8. ലിബ്ബ്രോട്ട്ലി 1.2.1, 1.1.1 അല്ലെങ്കിൽ 1.0.10. തുടർന്ന് സേവനങ്ങൾ പുനരാരംഭിച്ച് കണ്ടെയ്നർ ഇമേജുകൾ പുനർനിർമ്മിക്കുക. ഉറവിടങ്ങൾ: • Node.js സുരക്ഷാ റിലീസ് (21 ഒക്ടോബർ 2026): nodejs.org • CVE റെക്കോർഡ് (Google): cve.org • NVD: nvd.nist.gov • Google Brotli v1.2.1 റിലീസ്: github.com/google/brotli/releases/tag/v1.2.1 • GitHub ഉപദേശം (Python Brotli): advisories/GHSA-9v8h-qqgm-4m35 • എൻ‌വോയ് ഉപദേശം: github.com/envoyproxy/envoy/security/advisories/G… • ബൺ ഫിക്സ്: bun#46352 ഉം bun.com ദി ഹാക്കർ ന്യൂസ് (22 ഒക്ടോബർ): thehackernews.com • ദി ഹാക്കർ ന്യൂസ് (23 ഒക്ടോബർ): thehackernews.com • ദി ഹാക്കർ ന്യൂസ് (24 ഒക്ടോബർ): thehackernews.com • സൈബർ ന്യൂസ്: cybernews.com ചിത്ര ക്രെഡിറ്റുകൾ: • പേജ് സ്ക്രീൻഷോട്ടുകൾ: nodejs.org, The Hacker News, GitHub (google/brotli) • വിക്കിമീഡിയ കോമൺസ് (MIT) വഴി Node.js ലോഗോ • വിക്കിമീഡിയ കോമൺസ് വഴി പൈത്തൺ ലോഗോ • വിക്കിമീഡിയ കോമൺസ് വഴി Google "G" ലോഗോ • ബൺ ലോഗോ: bun.com (ഔദ്യോഗിക ലോഗോ) ഓപ്പൺജെഎസ് ഫൗണ്ടേഷന്റെ ഒരു വ്യാപാരമുദ്രയാണ് നോഡ്.ജെഎസ്. പൈത്തൺ സോഫ്റ്റ്‌വെയർ ഫൗണ്ടേഷന്റെ ഒരു വ്യാപാരമുദ്രയാണ്. ഗൂഗിളും ബ്രോട്ട്‌ലിയും ഗൂഗിൾ എൽഎൽസിയുടെ വ്യാപാരമുദ്രകളാണ്. ബണും എൻവോയും അവയുടെ ഉടമസ്ഥരുടെ വ്യാപാരമുദ്രകളാണ്. വാർത്താ വ്യാഖ്യാനത്തിനായി ഉപയോഗിക്കുന്നു. ഈ ഷോർട്ട് ഒരു AI വോയ്‌സും AI- സഹായത്തോടെയുള്ള എഡിറ്റിംഗും ഉപയോഗിക്കുന്നു. മുകളിലുള്ള ഉറവിടങ്ങളുമായി വസ്തുതകൾ പരിശോധിച്ചു. #NodeJS #CyberSecurity #Node2Shell #TechNews #Shorts [nl-NL] Node2Shell: Google's Brotli-bug treft Node.js, Bun en Python (Update nu) Een geheugenbug in Google's Brotli-decoder (CVE-2026-111497) zorgt ervoor dat gecomprimeerde data een app kan laten crashen, geheugen kan lekken of mogelijk code van een aanvaller kan uitvoeren. Node.js heeft dit op 21 oktober 2026 verholpen, en dezelfde decoder is ook te vinden in Bun, de Python-pakketten Brotli en brotlicffi, en Envoy. Onderzoekers van Imperva, die het "Node2Shell" noemen, hebben code uitgevoerd op een officiële Node.js-build in een labtest; er zijn geen aanvallen in de praktijk gemeld. Een beveiligingsteam van OpenAI Codex ontdekte de bug, en de fix zat sinds februari in de broncode van Brotli zonder een officiële beveiligingsupdate. Eerlijk gezegd, of had deze fix al in februari uitgebracht moeten worden? Laat je mening achter in de reacties. Like en abonneer voor meer. Wat te updaten: Node.js 22.23.4, 24.22.1 of 26.12.1 (Node.js 20 en ouder krijgen geen fix). Bun 1.4.4 of nieuwer. Python: Brotli 1.2.1, brotlicffi 1.2.1.0. Envoy 1.40.0, 1.39.3, 1.38.6 of 1.37.8. libbrotli 1.2.1, 1.1.1 of 1.0.10. Start vervolgens de services opnieuw en bouw de containerimages opnieuw. Bronnen: • Beveiligingsupdate Node.js (21 oktober 2026): nodejs.org • CVE-record (Google): cve.org • NVD: nvd.nist.gov • Google Brotli v1.2.1 release: github.com/google/brotli/releases/tag/v1.2.1 • GitHub-advies (Python Brotli): advisories/GHSA-9v8h-qqgm-4m35 • Envoy-advies: github.com/envoyproxy/envoy/security/advisories/G… • Bun-fix: bun#46352 en bun.com • The Hacker News (22 okt): thehackernews.com • The Hacker News (23 okt): thehackernews.com • The Hacker News (24 okt): thehackernews.com • Cybernews: cybernews.com Afbeeldingscredits: • Screenshots van pagina's: nodejs.org, The Hacker News, GitHub (google/brotli) • Node.js-logo via Wikimedia Commons (MIT) • Python-logo via Wikimedia Commons • Google "G"-logo via Wikimedia Commons • Bun-logo: bun.com (officieel logo) Node.js is een handelsmerk van de OpenJS Foundation. Python is een handelsmerk van de Python Software Foundation. Google en Brotli zijn handelsmerken van Google LLC. Bun en Envoy zijn handelsmerken van hun respectievelijke eigenaren. Gebruikt voor nieuwscommentaar. Deze Short maakt gebruik van een AI-stem en AI-ondersteunde bewerking. Feiten gecontroleerd aan de hand van de bovenstaande bronnen. #NodeJS #CyberSecurity #Node2Shell #TechNews #Shorts [pa] Node2Shell: Google ਦਾ Brotli ਬੱਗ Node.js, Bun ਅਤੇ Python ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਰਿਹਾ ਹੈ (ਹੁਣੇ ਅਪਡੇਟ ਕਰੋ) ਗੂਗਲ ਦੇ ਬ੍ਰੋਟਲੀ ਡੀਕੋਡਰ (CVE-2026-111497) ਵਿੱਚ ਇੱਕ ਮੈਮੋਰੀ ਬੱਗ ਤਿਆਰ ਕੀਤੇ ਸੰਕੁਚਿਤ ਡੇਟਾ ਨੂੰ ਇੱਕ ਐਪ ਨੂੰ ਕਰੈਸ਼ ਕਰਨ, ਮੈਮੋਰੀ ਲੀਕ ਕਰਨ ਜਾਂ ਸੰਭਾਵੀ ਤੌਰ 'ਤੇ ਹਮਲਾਵਰ ਦੇ ਕੋਡ ਨੂੰ ਚਲਾਉਣ ਦਿੰਦਾ ਹੈ। Node.js ਨੇ ਇਸਨੂੰ 21 ਅਕਤੂਬਰ 2026 ਨੂੰ ਠੀਕ ਕੀਤਾ, ਅਤੇ ਉਹੀ ਡੀਕੋਡਰ ਬਨ, ਪਾਈਥਨ ਬ੍ਰੋਟਲੀ ਅਤੇ ਬ੍ਰੋਟਲੀਕਫੀ ਪੈਕੇਜਾਂ, ਅਤੇ ਐਂਵੋਏ ਵਿੱਚ ਵੀ ਬੈਠਦਾ ਹੈ। Imperva ਖੋਜਕਰਤਾ, ਜੋ ਇਸਨੂੰ "Node2Shell" ਕਹਿੰਦੇ ਹਨ, ਨੇ ਇੱਕ ਲੈਬ ਟੈਸਟ ਵਿੱਚ ਇੱਕ ਅਧਿਕਾਰਤ Node.js ਬਿਲਡ 'ਤੇ ਕੋਡ ਚਲਾਇਆ; ਜੰਗਲੀ ਵਿੱਚ ਕੋਈ ਵੀ ਹਮਲਾ ਰਿਪੋਰਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ। ਇੱਕ OpenAI ਕੋਡੈਕਸ ਸੁਰੱਖਿਆ ਟੀਮ ਨੇ ਇਸਨੂੰ ਲੱਭ ਲਿਆ, ਅਤੇ ਫਿਕਸ ਫਰਵਰੀ ਤੋਂ ਸੁਰੱਖਿਆ ਰੀਲੀਜ਼ ਤੋਂ ਬਿਨਾਂ ਬ੍ਰੋਟਲੀ ਦੇ ਸਰੋਤ ਕੋਡ ਵਿੱਚ ਬੈਠ ਗਿਆ। ਇਮਾਨਦਾਰ ਮਿਸ, ਜਾਂ ਕੀ ਉਹ ਫਿਕਸ ਫਰਵਰੀ ਵਿੱਚ ਵਾਪਸ ਭੇਜ ਦਿੱਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਸੀ? ਆਪਣੀ ਗੱਲ 'ਤੇ ਟਿੱਪਣੀ ਕਰੋ। ਹੋਰ ਲਈ ਪਸੰਦ ਕਰੋ ਅਤੇ ਗਾਹਕ ਬਣੋ। ਕੀ ਅੱਪਡੇਟ ਕਰਨਾ ਹੈ: Node.js 22.23.4, 24.22.1 ਜਾਂ 26.12.1 (Node.js 20 ਅਤੇ ਪੁਰਾਣੇ ਨੂੰ ਕੋਈ ਹੱਲ ਨਹੀਂ ਮਿਲਦਾ)। Bun 1.4.4 ਜਾਂ ਨਵਾਂ। Python: Brotli 1.2.1, brotlicffi 1.2.1.0. Envoy 1.40.0, 1.39.3, 1.38.6 ਜਾਂ 1.37.8. libbrotli 1.2.1, 1.1.1 ਜਾਂ 1.0.10। ਫਿਰ ਸੇਵਾਵਾਂ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰੋ ਅਤੇ ਕੰਟੇਨਰ ਚਿੱਤਰਾਂ ਨੂੰ ਦੁਬਾਰਾ ਬਣਾਓ। ਸਰੋਤ: • Node.js ਸੁਰੱਖਿਆ ਰਿਲੀਜ਼ (21 ਅਕਤੂਬਰ 2026): nodejs.org • CVE ਰਿਕਾਰਡ (Google): cve.org • NVD: nvd.nist.gov • Google Brotli v1.2.1 ਰਿਲੀਜ਼: github.com/google/brotli/releases/tag/v1.2.1 • GitHub ਸਲਾਹਕਾਰ (ਪਾਈਥਨ ਬ੍ਰੋਟਲੀ): advisories/GHSA-9v8h-qqgm-4m35 • ਦੂਤ ਸਲਾਹਕਾਰ: github.com/envoyproxy/envoy/security/advisories/G… • ਬਨ ਫਿਕਸ: bun#46352 ਅਤੇ bun.com • ਦ ਹੈਕਰ ਨਿਊਜ਼ (22 ਅਕਤੂਬਰ): thehackernews.com • ਦ ਹੈਕਰ ਨਿਊਜ਼ (23 ਅਕਤੂਬਰ): thehackernews.com • ਦ ਹੈਕਰ ਨਿਊਜ਼ (24 ਅਕਤੂਬਰ): thehackernews.com • ਸਾਈਬਰ ਨਿਊਜ਼: cybernews.com ਚਿੱਤਰ ਕ੍ਰੈਡਿਟ: • ਪੰਨੇ ਦੇ ਸਕ੍ਰੀਨਸ਼ਾਟ: nodejs.org, The Hacker News, GitHub (google/brotli) • Node.js ਲੋਗੋ ਵਿਕੀਮੀਡੀਆ ਕਾਮਨਜ਼ (MIT) ਰਾਹੀਂ • ਪਾਈਥਨ ਲੋਗੋ ਵਿਕੀਮੀਡੀਆ ਕਾਮਨਜ਼ ਰਾਹੀਂ • ਗੂਗਲ "G" ਲੋਗੋ ਵਿਕੀਮੀਡੀਆ ਕਾਮਨਜ਼ ਰਾਹੀਂ • ਬਨ ਲੋਗੋ: bun.com (ਅਧਿਕਾਰਤ ਲੋਗੋ) Node.js ਓਪਨਜੇਐਸ ਫਾਊਂਡੇਸ਼ਨ ਦਾ ਟ੍ਰੇਡਮਾਰਕ ਹੈ। ਪਾਈਥਨ ਪਾਈਥਨ ਸੌਫਟਵੇਅਰ ਫਾਊਂਡੇਸ਼ਨ ਦਾ ਟ੍ਰੇਡਮਾਰਕ ਹੈ। ਗੂਗਲ ਅਤੇ ਬ੍ਰੋਟਲੀ ਗੂਗਲ ਐਲਐਲਸੀ ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਹਨ। ਬਨ ਅਤੇ ਐਂਵੋਏ ਉਨ੍ਹਾਂ ਦੇ ਮਾਲਕਾਂ ਦੇ ਟ੍ਰੇਡਮਾਰਕ ਹਨ। ਖ਼ਬਰਾਂ ਦੀ ਟਿੱਪਣੀ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਛੋਟਾ ਇੱਕ AI ਵੌਇਸ ਅਤੇ AI-ਸਹਾਇਤਾ ਪ੍ਰਾਪਤ ਸੰਪਾਦਨ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਉਪਰੋਕਤ ਸਰੋਤਾਂ ਦੇ ਵਿਰੁੱਧ ਜਾਂਚੇ ਗਏ ਤੱਥ। #NodeJS #CyberSecurity #Node2Shell #TechNews #Shorts [pl] Node2Shell: Błąd w dekoderze Brotli od Google dotyka Node.js, Bun i Python (Zaktualizuj teraz) Błąd pamięci w dekoderze Brotli firmy Google (CVE-2026-111497) umożliwia zmodyfikowanym skompresowanym danym awarię aplikacji, wyciek pamięci lub uruchomienie kodu atakującego. Node.js naprawił ten błąd 21 października 2026 roku, a ten sam dekoder znajduje się również w Bun, pakietach Brotli i brotlicffi dla Pythona oraz Envoy. Badacze z Imperva, nazywający to „Node2Shell”, uruchomili kod w oficjalnej kompilacji Node.js w ramach testów laboratoryjnych; nie zgłoszono żadnych ataków w środowisku rzeczywistym. Zespół ds. bezpieczeństwa OpenAI Codex znalazł błąd, a poprawka znajdowała się w kodzie źródłowym Brotli od lutego bez wydania wersji bezpieczeństwa. Szczerze przeoczyłeś, czy ta poprawka powinna zostać udostępniona już w lutym? Skomentuj swoją opinię. Polub i zasubskrybuj, aby otrzymywać więcej informacji. Co zaktualizować: Node.js 22.23.4, 24.22.1 lub 26.12.1 (Node.js 20 i starsze nie otrzymują poprawki). Bun 1.4.4 lub nowszy. Python: Brotli 1.2.1, brotlicffi 1.2.1.0. Envoy 1.40.0, 1.39.3, 1.38.6 lub 1.37.8. libbrotli 1.2.1, 1.1.1 lub 1.0.10. Następnie uruchom ponownie usługi i przebuduj obrazy kontenerów. Źródła: • Wydanie zabezpieczeń Node.js (21 października 2026 r.): nodejs.org • Rekord CVE (Google): cve.org • NVD: nvd.nist.gov • Wydanie Google Brotli v1.2.1: github.com/google/brotli/releases/tag/v1.2.1 • Poradnik GitHub (Python Brotli): advisories/GHSA-9v8h-qqgm-4m35 • Poradnik Envoy: github.com/envoyproxy/envoy/security/advisories/G… • Poprawka Bun: bun#46352 i bun.com • The Hacker News (22 października): thehackernews.com • The Hacker News (23 października): thehackernews.com • The Hacker News (24 października): thehackernews.com • Cybernews: cybernews.com Źródła obrazów: • Zrzuty ekranu strony: nodejs.org, The Hacker News, GitHub (google/brotli) • Logo Node.js za pośrednictwem Wikimedia Commons (MIT) • Logo Pythona za pośrednictwem Wikimedia Commons • Logo Google „G” za pośrednictwem Wikimedia Commons • Logo Bun: bun.com (oficjalne logo) Node.js jest znakiem towarowym OpenJS Foundation. Python jest znakiem towarowym Python Software Foundation. Google i Brotli są znakami towarowymi Google LLC. Bun i Envoy są znakami towarowymi ich właścicieli. Wykorzystano w komentarzach prasowych. W tym krótkim filmie zastosowano głos sztucznej inteligencji (AI) i edycję wspomaganą przez AI. Informacje zweryfikowano na podstawie powyższych źródeł. #NodeJS #CyberBezpieczeństwo #Node2Shell #TechNews #Shorts [pt-BR] Node2Shell: Falha no Brotli do Google afeta Node.js, Bun e Python (Atualize Agora) Uma falha de memória no decodificador Brotli do Google (CVE-2026-111497) permite que dados comprimidos maliciosos causem a falha de um aplicativo, vazamento de memória ou possivelmente a execução de código malicioso. O Node.js corrigiu a vulnerabilidade em 21 de outubro de 2026, e o mesmo decodificador também está presente no Bun, nos pacotes Python Brotli e brotlicffi, e no Envoy. Pesquisadores da Imperva, que o chamam de "Node2Shell", executaram código em uma versão oficial do Node.js em um teste de laboratório; nenhum ataque em ambiente real foi relatado. Uma equipe de segurança do OpenAI Codex descobriu a falha, e a correção permaneceu no código-fonte do Brotli desde fevereiro, sem uma atualização de segurança. Uma falha honesta, ou essa correção deveria ter sido lançada em fevereiro? Comente sua opinião. Curta e inscreva-se para mais conteúdo. O que atualizar: Node.js 22.23.4, 24.22.1 ou 26.12.1 (Node.js 20 e versões anteriores não recebem correção). Bun 1.4.4 ou mais recente. Python: Brotli 1.2.1, brotlicffi 1.2.1.0. Envoy 1.40.0, 1.39.3, 1.38.6 ou 1.37.8. libbrotli 1.2.1, 1.1.1 ou 1.0.10. Em seguida, reinicie os serviços e reconstrua as imagens do contêiner. Fontes: • Lançamento de segurança do Node.js (21 de outubro de 2026): nodejs.org • Registro CVE (Google): cve.org • NVD: nvd.nist.gov • Lançamento do Google Brotli v1.2.1: github.com/google/brotli/releases/tag/v1.2.1 • Aviso do GitHub (Python Brotli): advisories/GHSA-9v8h-qqgm-4m35 • Aviso do Envoy: github.com/envoyproxy/envoy/security/advisories/G… • Correção do Bun: bun#46352 e bun.com • The Hacker News (22 de outubro): thehackernews.com • The Hacker News (23 de outubro): thehackernews.com • The Hacker News (24 de outubro): thehackernews.com • Cybernews: cybernews.com Créditos das imagens: • Capturas de tela da página: nodejs.org, The Hacker News, GitHub (google/brotli) • Logotipo do Node.js via Wikimedia Commons (MIT) • Logotipo do Python via Wikimedia Commons • Logotipo "G" do Google via Wikimedia Commons • Logotipo da Bun: bun.com (logotipo oficial) Node.js é uma marca registrada da OpenJS Foundation. Python é uma marca registrada da Python Software Foundation. Google e Brotli são marcas registradas da Google LLC. Bun e Envoy são marcas registradas de seus respectivos proprietários. Usado para comentários de notícias. Este vídeo curto utiliza voz de IA e edição assistida por IA. Os fatos foram verificados com base nas fontes acima. #NodeJS #Cibersegurança #Node2Shell #NotíciasdeTecnologia #VídeosCurtos [ru] Node2Shell: уязвимость в Brotli от Google затрагивает Node.js, Bun и Python (обновитесь прямо сей... Уязвимость в памяти декодера Brotli от Google (CVE-2026-111497) позволяет специально сжатым данным вызывать сбои в работе приложения, утечки памяти или, возможно, запускать код злоумышленника. Node.js исправил её 21 октября 2026 года, и тот же декодер также присутствует в Bun, пакетах Python Brotli и brotlicffi, а также в Envoy. Исследователи Imperva, называющие это "Node2Shell", протестировали код на официальной сборке Node.js в лабораторных условиях; сообщений об атаках в реальных условиях не поступало. Команда OpenAI Codex Security обнаружила уязвимость, и исправление оставалось в исходном коде Brotli с февраля без выпуска обновления безопасности. Честно говоря, это ошибка, или исправление следовало выпустить ещё в феврале? Напишите своё мнение в комментариях. Ставьте лайки и подписывайтесь, чтобы получать больше информации. Что нужно обновить: Node.js 22.23.4, 24.22.1 или 26.12.1 (для Node.js 20 и более старых версий исправления не предусмотрены). Bun 1.4.4 или новее. Python: Brotli 1.2.1, brotlicffi 1.2.1.0. Envoy 1.40.0, 1.39.3, 1.38.6 или 1.37.8. libbrotli 1.2.1, 1.1.1 или 1.0.10. Затем перезапустите службы и пересоберите образы контейнеров. Источники: • Выпуск Node.js по безопасности (21 октября 2026 г.): nodejs.org • Запись CVE (Google): cve.org • NVD: nvd.nist.gov

    55 views
  6. Brotliデコーダ脆弱性(CVE-2026-111497)の影響確認:部品台帳・実体パス・バックポートで判定する !ヘッダ画像 はじめに あきらパパです。Google Brotliのデコーダに境界外書込の脆弱性が公表されました。HTTP2Shell(CVE-2026-111497)の名前で紹介されている件です。識別子と対象範囲は、作業時点の公式告知で照合してください。 本記事は、手元の開発環境で「どこにBrotliデコーダがあり、どれが動き、外部入力が届くか」を整理したい開発者向けです。Node.js、Python、curlを中心に扱います。 - 根拠は2026-10-25 14:51 JSTに確認した公式資料です。 - コマンドは読み取りのみです。更新・削除・再起動のコマンドは載せません。 - 攻撃データによる再現や、侵害有無の判定は扱いません。 - 例はmacOS(zsh)基準です。OS差がある箇所は明記します。 概要 !図1:圧縮データ→解凍処理→アプリ。問題は信頼できない入力が修正前の解凍処理に届く経路 図はすべて概念図です。実測画面ではありません。 Node.jsの告知によると、問題はBrotliデコーダの境界外書込です。細工されたBrotliデータをnode:zlibで解凍する経路が条件で、クラッシュ、メモリ漏えい、RCEの可能性が挙げられています。Node.jsの評価はHighです。nodejs.org 見るべきは形式やライブラリの存在ではなく、攻撃者が制御できる入力が、修正前のデコーダに届く経路です。 修正の根拠になる公式情報 | 対象 | 修正版・根拠 | |---|---| | Node.js 22系 | 22.23.4(当該修正コミットをcherry-pick) | | Google Brotli(上流) | 1.2.1(2026-10-21公開) | | Python Brotli(PyPI) | 1.2.1 | | brotlicffi(PyPI) | 1.2.1.0 | | Bun | 公式アドバイザリの修正情報に従う | | Envoy | 公式アドバイザリ(Brotli decompressorが対象) | | Istio | EnvoyFilter等でBrotli解凍を有効化した利用者に更新案内 | 出典: - Node.js 22.23.4 nodejs.org - Google Brotli 1.2.1 github.com/google/brotli/releases/tag/v1.2.1 - GitHub Reviewed Advisory(Python) advisories/GHSA-9v8h-qqgm-4m35 - Bun github.com/oven-sh/bun/security/advisories/GHSA-6… - Envoy github.com/envoyproxy/envoy/security/advisories/G… - Istio istio.io 注意点です。 - Node.js 22系以外の系列は、本記事では修正版を載せていません。公式告知から辿ってください。 - PyPIのパッケージ版と、上流libbrotliの系列別の修正版は別の番号体系です。 - Istioのページは複数の脆弱性を扱います。ページ全体の深刻度を、Brotli単体のスコアとして読まないでください。 - Patch the Planetのまとめは参考になりますが、検索キャッシュに古い内容が残る場合があります。版番号は個別の公式資料を優先します。patchtheplanet.org 判定は5つに分ける !図3:存在・選択・稼働・入力到達・修正根拠の5確認 | 確認 | 問い | 主な手がかり | |---|---|---| | 存在 | 影響する部品がディスク上にあるか | node_modules、wheel、アプリ同梱 | | 選択 | 実行時にその部品が選ばれるか | PATH、バージョンマネージャ、venv | | 稼働 | いま動くプロセスが使っているか | PID、実体パス、起動時刻 | | 入力到達 | 外部入力がデコーダに届くか | 受信・取得・ファイル展開 | | 修正根拠 | 修正を何で確認できるか | 公式リリース記載、バックポート | 「古い部品を発見」は「RCE成立」ではありません。逆に、実証できないことは安全の証明にもなりません。 部品台帳を作る !図2:アプリ内部の複数部品と別環境。OSや既定Node一つの更新では全体は置換されない OSや既定のNode.jsを1つ更新しても、別の場所のコピーは置き換わりません。層ごとに台帳を作ります。 | 層 | 例 | |---|---| | システム | OS付属のcurl、Homebrew等のパッケージ、共有libbrotli | | 言語ランタイム | nvm/fnm/Volta/mise/asdf等の複数Node.js、Bun、Python(venv、uv、pipx、conda) | | アプリ同梱 | Electron等のデスクトップアプリ、IDE、AIエージェントやMCPの付属ランタイム | | ネイティブ同梱 | 他パッケージのwheelやネイティブ拡張に含まれる別コピー | | 再生成元 | ロックファイル、Dockerfile、CI、コンテナイメージ、キャッシュ | よくある落とし穴です。 - PATH先頭のnodeだけを見て、CLIごとに固定されたNode.jsを見落とす。 - pip showしたPythonと、アプリが使うPythonが別。 - Python Brotliを更新しても、curl-cffiやPillow等のネイティブ部品に同梱された別コピーは変わらない。なお、同梱があっても全読込経路が危険とは限らない。 - ElectronアプリのNode表示番号を、通常のNode.js配布物と機械的に比較する。 読み取り専用で確認するコマンド 以下が返すのは、そのシェルから呼ばれた1つの環境の情報だけです。GUIアプリ、常駐サービス、コンテナ、別のvenvは別途確認が必要です。結果がどうであれ、端末全体の安全は証明できません。 Node.js node -p "JSON.stringify({version: process.version, brotli: process.versions.brotli, execPath: process.execPath}, null, 2)" - version:本体の版です。Node.js公式配布の22系では22.23.4が修正版の例です。ほかの配布元では、その配布元の修正情報も照合します。 - brotli:同梱Brotliの版表示です。バックポートでは修正後も表示が変わらない場合があるため、単独では判定しません。 - execPath:実際に動いたバイナリのパスです。shimではなく実体が出ます。 同名のnodeが複数ないかも見ます。プロジェクトのディレクトリでも確認します。.nvmrcや.tool-versions等の指定が実際に反映されるかは、管理ツールやシェルの設定次第です。ファイルがあるだけで自動的に切り替わるとは限りません。 # macOS / Linux(zsh・bash) which -a node # Windows PowerShell Get-Command node -All Python # macOS / Linux。Windowsでは python3 を py に置き換え python3 -c "import sys; print(sys.executable)" python3 -m pip show Brotli brotlicffi - 1行目で、どのPythonを見ているかを記録します。 - VersionとLocationを見ます。未インストールなら警告が出ます。 - 環境ごとに結果は別です。他パッケージに同梱されたコピーはここには出ません。 curl curl --version 1行目にbrotli/x.y.z、Featuresにbrotliがあれば、Brotliを扱えるビルドです。表示はリンク先ライブラリの版で、配布元のバックポートは反映されないことがあります。 macOSでは、OS付属の/usr/bin/curlとHomebrewのcurl(Apple Siliconは/opt/homebrew、Intelは/usr/local配下)が併存しがちです。 # macOSのみ which -a curl otool -L "$(command -v curl)" | grep -i brotli otool -Lは動的リンクのみ表示します。静的リンクなら出ないため、出ないことは不使用の証明になりません。Linuxではパッケージ管理ツールの情報で確認します。 稼働プロセスと待受 # macOS / Linux。トークン等を含むことがあるため引数は表示しない ps -axo pid,ppid,lstart,comm lsof -nP -iTCP -sTCP:LISTEN - 設定上の既定版と、いま動く実行ファイルは別物です。 - next-server、ワーカー、MCPサーバーなど、名前がnodeでない子プロセスもあります。 - 127.0.0.1の待受と、*や0.0.0.0の待受を分けます。 - 待受がなくても、取得したレスポンスを解凍するクライアント側の経路はあり得ます。 - 権限により、他ユーザーのプロセスは見えないことがあります。 入力到達を見る観点 - 受信:Content-Encoding: brのリクエスト本文を解凍するサーバーやプロキシ。 - 取得:外部から取得したレスポンスを解凍するクライアント(HTTPクライアント、AIエージェントのWeb取得など)。 - ファイル:Brotli圧縮されたファイルやフォント等の展開。 Accept-Encodingからbrを外しても、相手がbrで返した場合の解凍を必ず防げるとは限りません。CDNのレスポンス圧縮を止めても、受信リクエストやクライアント側の解凍は止まりません。緩和するなら、解凍前の拒否やデコーダの無効化まで確認します。 対応の流れと判定表 !図4:調査→判定→承認範囲の更新→再起動→検証→再生成確認 1. 調査:台帳とコマンドで現状を記録する。 2. 判定:5つの確認で分類する。 3. 承認範囲の更新:公式アップデータやパッケージ管理の通常手順で行う。不要なメジャー更新は避ける。 4. 再起動:親だけでなく、子やワーカーも入れ替わったかを見る。 5. 検証:execPathと版、通常の圧縮・解凍などの正常系を確認する。 6. 再生成確認:ロックファイル、Dockerfile、CIの版固定、キャッシュから旧版が戻らないかを見る。 | 分類 | 意味 | |---|---| | 修正済み確認 | 実際に使う部品に修正の根拠がある | | 旧部品確認・到達経路あり | 優先して対応 | | 旧部品確認・到達経路未確認 | 調査と更新を進める | | 影響の疑い | 間接証拠のみ。追加情報が必要 | | 当該経路の対象外 | 根拠と限定範囲を添える | | 未確認 | 理由を添える。低リスク扱いにしない | やらないこと - 業務端末や本番に、攻撃データを投入して確かめる。 - 署名アプリやベンダー管理キャッシュ内のバイナリを手で差し替える。 - 内容を確かめずに一括更新コマンドを流す。 - 調査結果から「侵害されていない」と断定する。 - スコアだけで順位を決める。同時期のPHP2ShellもCVSS 9.2と発表されていますが、単純な比較はしません。php2shell.com Codex/Claude Codeに渡すプロンプト ここまでの手順を、ローカル環境で横断的に進めるためのプロンプトです。既定の実行モードは「ローカル対応まで」で、調査、判定、承認範囲の更新、再起動、検証、残課題の報告までを依頼します。 - 環境を変えずに台帳だけ欲しい場合は、実行モード:ローカル対応までの行を調査のみに書き換えます。 - 対象名とCVEは既定値が入っていますが、調査当日の一次情報で照合させる指示です。修正版番号もハードコードさせません。 - 停止影響が不明なプロセス、OS再起動、削除、本番変更、外部送信は、まとめて確認を求める設計です。 - 出力の一覧表では「未確認」と「残課題」を必ず読みます。共有前に、個人パスや内部URLが残っていないかも確認してください。 あなたは、端末・開発環境・依存ライブラリ・運用中プロセスを横断して調査し、根拠に基づいて修正と検証まで行うセキュリティエンジニアです。 実行モード:ローカル対応まで 対象:HTTP2Shell/CVE-2026-111497 「調査のみ」に変更された場合は環境を変更せず、情報取得と報告に留めてください。 私の環境について、脆弱性のニュースを実機の対応に変えてください。説明や更新候補の列挙で終わらず、対象の特定、影響判定、優先順位、許可された修正、再起動、動作確認、残課題の報告まで進めてください。 対象の脆弱性を別途指定していない場合は、HTTP2Shell/CVE-2026-111497として調査を開始してください。ただし、名前・CVE・影響範囲・修正版を最初から正しいと仮定せず、調査当日の一次情報で検証してください。 **1. 作業範囲と権限** 対象は、このチャットから正当にアクセスできる私の端末とローカル開発環境です。この依頼により、対象ソフトのローカル調査、バックアップ、公式更新、安全で可逆な依存更新、設定修正、影響を把握したローカル補助プロセスの再起動、通常機能の検証を許可します。 私のデータ、認証情報、作業中の変更を保全してください。停止対象と影響を確認できない重要プロセス、作業中アプリ全体の終了、OS再起動、データ削除、本番変更、公開、外部送信、認証・課金・契約操作は、必要な事前調査と具体案を用意してから、必要なものだけまとめて確認してください。許可済みの可逆な作業について同じ確認を繰り返さないでください。 秘密鍵、トークン、Cookie、パスワード、.envの値、認証を含むコマンド引数・プロセス環境を出力・外部送信しないでください。設定ファイルは必要なキーだけ調査し、バックアップに秘密情報が含まれる場合は私的領域に限定してください。 利用可能なツール、アクセス範囲、既存の運用ルールを最初に確認してください。実行権限がない場合は、実行したふりをせず、未確認の範囲と必要な最小手順を提示してください。 **2. 最初に確認する事実** 実際の日時・タイムゾーン、OS、CPUアーキテクチャ、ユーザー権限、実行環境を確認してください。MacのIntel/Apple Silicon/Rosetta、コンテナ/ホスト、遠隔環境を混同しないでください。 ベンダーのセキュリティ情報、公式リリース、修正コミット、公式パッケージ情報を優先し、次を整理してください。 - 脆弱性の実在と正しい識別子。 - 原因となる部品と処理、必要な入力・設定・権限。 - 影響する版、修正済みの版、バックポート、サポート終了系列。 - 確認された被害、公開された実証、理論上の影響の違い。 - 修正が未提供の対象と、有効な緩和策の条件。 SNSの要約、製品名の列挙、「通信するものは全部危険」といった説明をそのまま採用しないでください。CVSSだけで私の端末の危険度を決めないでください。情報に食い違いがあれば、一次情報と不確実性を明示してください。 **3. 棚卸しは実際に使われる経路から** 既存の調査・更新履歴があれば再利用し、現在の状態を確認してください。調査前の状態を記録し、同じ環境を重複して新規扱いしないでください。 次の層を、存在するものから確認してください。 - OS、ブラウザ、デスクトップアプリ、Electron/Chromium/CEF、アプリ別添のNode等。 - Node、Bun、Python、curl、共有ライブラリ、実際に使われるパッケージ管理環境。 - Volta、nodebrew、nvm、fnm、mise、asdf等の既定版・プロジェクト指定・CLI個別指定。 - Homebrew等のシステムパッケージ、uv/pipx、venv、conda、ユーザーsite-packages。 - IDE/AIエージェント/MCPの付属ランタイム、複数世代のバンドル、補助実行ファイル。 - プロジェクトの版固定、ロックファイル、CI、Dockerfile、コンテナイメージ、配布物。 - キャッシュ、旧バージョン、保管コピー、復元時に再利用される依存部品。 PATH上の先頭だけで終わらず、実体パス、シンボリックリンク、シェル・GUI・サービスごとの起動元を追ってください。同名コマンドの別コピーや、CLIごとの固定Nodeを区別してください。 停止中のDockerや未承認の遠隔環境は勝手に起動・変更せず、未確認範囲として示してください。 探索は絞り込みと段階的な追加調査で行い、無関係な巨大キャッシュを繰り返し走査しないでください。走査件数を安全性の証明として扱わないでください。 **4. 実行中プロセスを必ず確認** 設定上の既定版と、現在動いている実行ファイルは別物です。PID、親子関係、起動元、実体バイナリ、ロード済みライブラリ、待受アドレスを必要な範囲で照合してください。 プロセス名がnodeでないからといって除外しないでください。next-server、worker、MCP、ヘルパーなど、名前が変更された子プロセスも確認してください。親に待受がなくても、子が待受していることがあります。 作業ディレクトリだけで公開サーバーと断定しないでください。localhost待受、外部待受、外向き通信、トンネルを分けてください。ソケットがない瞬間の観測だけで、将来も外部入力を扱わないと断定しないでください。 再起動後は、古い親だけでなく古い子・ワーカーが残っていないことを確認してください。PIDは再利用されるため、操作直前に起動時刻・所有者・実体パス・親子関係を再照合してください。 **5. 部品の存在・利用・攻撃経路を分ける** 対象ごとに次の4点を分けて判定してください。 A. 影響する部品が存在するか。 B. その部品が現在選択・ロードされるか。 C. 攻撃者が制御する入力が、その問題の処理に届くか。 D. 修正を含む実装であることを、何で確認できるか。 「古い部品を発見」を「このアプリでRCEが成立」と言い換えないでください。逆に、実証できていないことを安全の証明にもしないでください。 表示バージョンだけで判断せず、公式のバックポート、配布元独自の修正、静的/動的リンク、実際にロードされるライブラリを確認してください。文字列・シンボルの有無は補助根拠であり、単独で安全・脆弱を確定しないでください。 ElectronのNode表示番号と、通常のNode配布物を機械的に比較しないでください。エンジンが利用する依存実装と、別添の独立Nodeを分けて調べてください。製品の一部分が修正済みでも、製品全体を安全扱いしないでください。 **6. HTTP2Shellで特に見落とさない点** Google Brotli由来の問題であることを一次情報で確認したうえで、次の経路を調べてください。 - HTTPリクエスト本文、取得したHTTPレスポンス、ファイル、フォント等の展開。 - Python Brotli/brotlicffiだけでなく、curl-cffi、Pillow/FreeType等のネイティブ部品に同梱された別コピー。 - システム共用libbrotliと、静的リンク・wheel同梱・アプリ内ライブラリの違い。 - アプリ本体、CLI、画像処理、ブラウザ操作等がそれぞれ別のランタイムを持つ可能性。 PythonのBrotliパッケージを更新しただけで、Pillowやcurl-cffiの内部も更新されたとみなさないでください。PillowにBrotliが存在しても、すべての画像読込経路を危険と断定しないでください。 Accept-Encodingからbrを外すだけでは、相手がbrを返す場合の解凍を必ず防げるとは限りません。緩和する場合は、解凍前の拒否または該当デコーダの無効化まで確認してください。CDNのレスポンス圧縮を止めただけで、クライアントや受信リクエストの解凍も止まるとみなさないでください。 過去に知られた修正版番号を恒久的な基準としてハードコードせず、調査当日の公式情報と各配布物の実装を照合してください。 **7. 判定表と優先順位** 各対象を、次のいずれかに分類してください。 - 修正済み確認:実際に使う部品に修正の根拠がある。 - 旧部品確認・到達経路あり:対応を優先する。 - 旧部品確認・到達経路未確認:調査と更新を進める。 - 影響の疑い:間接証拠のみで、確定には追加情報が必要。 - 当該経路の対象外:根拠と限定範囲を示す。 - 未確認:アクセス不可・情報不足などの理由を示す。 対応状態は別の列で「未着手/修正済み・再起動待ち/検証済み/暫定緩和/保留」に分けてください。 優先順位は、外部入力への到達可能性、稼働・選択状態、権限、データの重要性、業務への影響、修正の可逆性で決めてください。「未確認」を自動的に低リスクへ落とさないでください。 **8. 修正の実行** 変更前に、対象、変更内容、期待効果、停止範囲、復元方法を短く提示してください。既に許可されたローカルの可逆な作業は、そのまま実行してください。 公式アップデータ・パッケージ管理の通常手順を優先してください。ダウンロード先と配布元を確認し、可能なら署名、チェックサム、配布メタデータを検証してください。未検証の取得スクリプトを安易に直接実行しないでください。 互換性を保てる修正版を選び、不要なメジャー更新を避けてください。CLI本体、付属ランタイム、Python環境、ネイティブ同梱部品を別々に検証してください。更新コマンドの成功を修正完了にしないでください。 公式最新版にも旧部品が残る場合は、安全な公式配布経路、修正済み依存を使う独立環境、問題のある任意機能の停止などを検討してください。機能を減らす場合は、失われる機能を具体的に説明してください。 署名アプリやベンダー管理キャッシュ内のバイナリ手差し替え、ABI・リンク先変更は通常更新の許可に含めません。必要なら根拠、互換性、復元方法、再生成時の挙動を具体化し、別途確認してください。署名・保護機構を無効化したり、公式修正版に見せるためメタデータを書き換えたりしないでください。 暫定変更には、環境再生成・自動更新による巻戻り、外部ライブラリへの新しい依存、再検査条件を必ず記録してください。利用者の依頼なしに常駐監視や自動化を追加しないでください。 **9. 再起動と動作確認** 設定を変えただけで完了にしないでください。サービス管理方法と起動条件を確認し、保存が必要な作業を守り、対象の親子プロセスを修正版で起動してください。二重起動やポート競合を避けてください。 再起動時は必要な引数・作業場所・設定を保全し、秘密情報を出力しないでください。起動元を理解できないプロセスを機械的に停止しないでください。 実際の起動パス、実行中バイナリ、ロード済みライブラリ、正常応答を確認してください。通常データの圧縮・解凍、ローカルHTTP応答、画像・フォント処理など、変更した機能に合う小さな正常系テストを使ってください。 業務端末や本番に攻撃コードを投入して安全性を証明しようとしないでください。認証情報を伴う外部アクセスや不要な課金テストを行わないでください。必要な検証が通ったら、意味のない追加テストを続けないでください。 **10. 残存コピーと再発条件** 更新前のバイナリ、旧世代のアプリ、キャッシュ、バックアップ、CIの固定指定、過去のコンテナ・配布物を区別してください。 不使用の旧コピーを、稼働中の脆弱サービスと同じ数え方にしないでください。ただし、再選択・復元・再ビルドで旧版が復活する経路は記録してください。削除権限がないものを勝手に消さず、整理候補として示してください。 バックアップは私的な場所に置き、旧実行物を通常のPATH・自動起動から外してください。復元手順には「旧脆弱性も戻る」ことを明記してください。 自分を動かす宿主の停止は証跡と再開手順を保存して最後に行ってください。失敗時は変更を広げず復旧し、脆弱な旧版へ戻した場合は未解決として緩和策を示してください。旧版互換性テストと本番用ビルドを区別し、テスト対象を無断で削らないでください。 **11. 最終成果物** まず結論を短く伝え、次の一覧表を出してください。 対象|所在・起動元|変更前|変更後|影響判定と根拠|実施した対応|検証結果|残課題|優先度 続いて、次を簡潔にまとめてください。 - 通常更新で対応完了したもの。 - 暫定対応・機能制限を伴うもの。 - 再起動待ち、未対応、追加権限・ベンダー修正待ちのもの。 - ローカル調査では判断できなかった本番・クラウド・他端末。 - バックアップ場所、復元方法、再発時の確認方法。 - 調査日時、一次情報へのリンク、秘密情報を除いたローカル証跡。 ファイルを作れる場合は、詳細Markdownと対応一覧CSVを保存してリンクしてください。過去の調査スナップショットを現在の事実で上書きせず、今回の実施結果を区別してください。 **12. 完了判定** 「存在する」「選択される」「実行中」「攻撃経路がある」「修正がある」を混同しないでください。 修正完了とする条件は、対象の実行経路で修正済み部品が使われ、必要な再起動が済み、通常機能の検証が通り、今回の対象に未処理の旧経路が残っていないことです。満たせない条件があれば、達成した部分と残った部分を明示してください。 私の環境全体が安全、侵害されていない、すべて対応済みといった包括的な結論を、調査範囲を超えて出さないでください。情報が不足していても調査だけで止まらず、許可された範囲の修正を進め、最後に私が判断すべき事項だけを残してください。 製品数、部品コピー数、環境数、プロセス数を別集計にし、共有版では個人パス・内部URL・秘密情報を伏せてください。まず読み取り中心の調査を開始し、指定モードで許可された対応と検証まで進めてください。 まとめ 「存在」「選択」「稼働」「入力到達」「修正根拠」を分けて記録すると、ニュースを手元の対応に落とし込めます。コマンドの結果は1環境分の事実です。確認できなかった欄は「未確認」と理由を残すことが次の調査につながります。 この記事のもとにした著者のX投稿です。x.com 資料確認日時:2026-10-25 14:51 JST

  7. Reddit · · r/u_No-Philosophy3919 · u/No-Philosophy3919 · envoyproxy/envoy

    A NACK can leave the next accepted Envoy route update broken An Envoy route can appear in /config_dump while requests for it return 404. In the SRDS failure documented by PR #48400, even removing the invalid configuration and sending a clean update can leave that route broken. SRDS distributes scoped route configurations. The old update loop changed the main-thread scope map as it processed each resource, then propagated the accumulated changes to workers later. If a later resource was invalid, processing stopped before that propagation step. Consider a batch ordered as valid_scope, bad_scope, other_scope. The first scope reaches the main-thread map. Building the second fails, for example because its inline route names an unknown cluster. The batch is NACKed. The first scope is visible in the admin dump, but workers never received it, so requests cannot use it. Now remove bad_scope and resend the two valid scopes. The hash check sees valid_scope already in the main-thread map with identical content and skips it. other_scope can reach workers and the clean update can be ACKed, while valid_scope continues returning 404. A retry with the correct desired state does not repair the earlier partial mutation. The merged fix adds partial acceptance behind envoy.reloadable_features.srds_partial_acceptance. With it enabled, Envoy catches per-scope errors, continues processing the batch, updates the scope maps after successful creation, and propagates valid scopes to workers. Failed scopes still produce a combined error and a NACK. That changes what the control plane must infer from a rejection: valid resources from a NACKed batch can be active. This behavior applies the valid subset; it does not roll back the whole batch. The patch includes an integration test using an Envoy server, an SRDS gRPC stream, HTTP requests, and /config_dump. It exercises the mixed push followed by the clean resend with the guard both disabled and enabled. I inspected that upstream test and patch; I have not independently built Envoy or reproduced the sequence. For rollout verification, I would combine ACK/NACK observations and the admin dump with an actual request for each new scope. A scope's presence in the dump shows one part of the configuration state; it does not establish that worker threads can route through it. The useful regression sequence is rejection, correction, accepted resend, then a request for the scope processed before the original error. PR #48400 merged on October 21, 2026 at 16:35:55 UTC. The guard is disabled by default in the current main-branch source checked on October 24. Merely deploying code that contains the fix does not enable the new behavior. Release and backport availability should be verified for the exact binary before planning a rollout. Sources: envoy#48400 github.com/envoyproxy/envoy/blob/main/source/comm… github.com/envoyproxy/envoy/commit/a071a0b1a27c59… Disclosure: AI-assisted writing and source review. The reproduction and tests described here are upstream work.

    1 point
  8. YouTube · · YouTube description · No Short Answers · envoyproxy/envoy

    The Brotli bug explained: why "Node2Shell" is not just about Node UPDATE 28 Oct 2026 (Asia/Dubai): CISA added CVE-2026-111497 to KEV on 27 Oct 2026 (due 10 Nov 2026). Lines below that say “not in KEV” / “no exploitation on record” were true as of the 24 Oct 2026 check and are historical. Treat KEV status as current: cisa.gov · Fix: github.com/google/brotli/releases/tag/v1.2.1 What is the Brotli bug CVE-2026-111497 (nicknamed "Node2Shell", and "HTTP2Shell" by Aikido), who is affected, and what should you update? A calm explainer, as of 24 October 2026. It is a buffer overflow in the Brotli decoder, versions 1.0.3 to 1.2.0 (per Google's CVE record). Brotli is bundled inside Node.js, Python packages, Envoy and more, and both servers and clients can be exposed. No exploitation is on record and it is not in CISA's KEV catalog (checked 24 Oct 2026). NVD status: Awaiting Analysis. Fixed versions (per vendors): - Brotli 1.0.10 / 1.1.1 / 1.2.1 - Node.js 22.23.4 / 24.22.1 / 26.12.1 - Python: brotli 1.2.1, brotlicffi 1.2.1.0 - Envoy 1.40.0 / 1.39.3 / 1.38.6 / 1.37.8 / 1.36.12 (1.36 is an unsupported branch, per OpenAI's patch page) - Per OpenAI's patch page: Bun 1.4.4; Istio 1.29.9 (1.29 is end-of-life) / 1.30.6 / 1.31.2 - Distros: take the fixed package when available, rebuild static bundles, restart. Credit: "OpenAI Codex Security" (Khai Tran and Sylvie Mayer), per the CVE record and Node.js; "OpenAI Security Research", per Envoy. Chapters 0:00 The "br" in your browser 0:50 What it is 1:14 Why it matters 1:30 How it works (concept) 1:58 Timeline 2:18 Who found it, who is affected 2:55 Names and ratings 3:46 How bad is it 4:27 What to do 5:06 Verdict Sources (checked 24 Oct 2026, 09:14 to 09:16 Dubai time): - CVE record (Google, CNA; CISA ADP): cve.org - NVD (status: Awaiting Analysis): nvd.nist.gov - Node.js October 2026 security releases: nodejs.org - Google Brotli releases (v1.0.10, v1.1.1, v1.2.1): github.com/google/brotli/releases - GitHub advisory, Python brotli / brotlicffi: advisories/GHSA-9v8h-qqgm-4m35 - Envoy advisory: github.com/envoyproxy/envoy/security/advisories/G… - OpenAI patch page (Patch the Planet): patchtheplanet.org - OpenAI post: x.com - Red Hat: access.redhat.com - Ubuntu: ubuntu.com - Debian: security-tracker.debian.org - CISA KEV catalog (not listed, catalog 2026.10.23): cisa.gov - oss-security, Jan Schaumann, 23 Oct 2026 (thread "Re: Upcoming Node.js security release 2026/10/21"): openwall.com - Aikido blog (source of the "HTTP2Shell" nickname): aikido.dev Disclosure: the narration is an AI-generated voice (ElevenLabs). Script, research and graphics by No Short Answers. Diagrams are simplified concepts, not exploit details. Status as of 24 October 2026. This video is not security advice; follow your vendor’s advisory.

    1 like · 2 comments · 55 views
  9. @zebassembly Pretty much any sandboxing solution for agents does this nowadays, e.g. agent-substrate uses envoyproxy/envoy

    116 views
  10. @kwuchu it’s not news that you gotta put guardrails on qpack: github.com/envoyproxy/envoy/security/advisories/G… don’t assume you can put arbitrary http impl on untrusted internet.

    13 views

Achievements

Awards earned by the repositories envoyproxy owns. Select an award to embed its badge.

No awards yet

Repositories earn awards by reaching the top three in a completed trending day or week.

A repository earns an award for finishing first, second or third in a completed trending day or week, ranked by new stars, new forks or pull request authors. Awards follow a repository through renames and transfers and count toward its current owner. Weeks run Monday to Sunday, UTC.