本文へスキップ
MameTechNews
今週のまとめ

10月19日週、GitLabとNode.jsの修正と認証局・環境変数の漏えい

## POINTS

  • 自己管理のGitLabは系統ごとの修正版へ上げ、移行を含む版では単一サーバの停止時間を見込む。
  • Node.jsの26、24、22は各修正版へ上げ、CAバンドルを同梱するイメージは再ビルドして配布する。
  • 外部入力から正規表現をコンパイルするRubyは4.0.9、3.4.12、3.3.13以降へ上げる。
  • 失効を見ないクライアントとPythonのCAバンドルは、パッケージ更新とイメージ再ビルドで入れ替える。
  • Railwayの全利用者は通知を待たずに環境変数とレジストリ資格情報を差し替え、発行元でも失効する。

GitLab、正規表現コンパイルの欠陥で未認証のコード実行を修正

サイト記事

事実

GitLabは10月21日、Community EditionとEnterprise Editionの自己管理向けに、19.5.1、19.4.3、19.3.6、19.2.9、19.1.9、19.0.10、18.11.13を公開した。中心はCVE-2026-110264で、正規表現のコンパイル時に整数が溢れ、条件を満たすと認証のない利用者がサーバ上で任意のコードを実行できる。CVSSは10.0、対象は7.0から各系統の修正版の直前までである。GitLab.comは修正済みで、Dedicatedは、19.3系の19.3.5-internal0以降と、19.4系の19.4.2-internal0以降にこの修正が入っている。同じパッチのHighは2件ある。SAMLとLDAPの自動リンクが両方有効なとき、認証済み利用者がLDAP側のアカウントを乗っ取れるCVE-2026-15723と、認証なしでOAuthとOIDCの発見情報キャッシュを汚染できるCVE-2026-112212である。19.4.3と19.3.6はデータベース移行を含み、単一サーバは移行が終わるまで停止する。複数台は、無停止の手順に沿えば止めずに適用できる。

示唆

自己管理で修正版より前のGitLabは、各系統の修正版へ上げる対象になる。7.0以降には、長く据え置いたインスタンスも入る。GitLab.comは追加の適用が不要である。Dedicatedは、19.3系の19.3.5-internal0以降と19.4系の19.4.2-internal0以降に修正が入っている。19.4.3と19.3.6はデータベース移行を含むため、単一サーバでは停止時間を見込む。複数台は、無停止の手順に沿えば更新中も稼働を続けられる。同じパッチには、SAMLとLDAPの自動リンクと、OAuthの発見情報キャッシュの修正も入っている。認証連携を使うインスタンスは、更新後にログインとシングルサインオンが通るかを確認する対象になる。

GitLab

Node.js、Brotli展開の範囲外書き込みを含むHigh 4件を修正

サイト記事

事実

Node.jsは10月21日、26.12.1、24.22.1、22.23.4を公開した。深刻度の上限はHighで、その一つが同梱Brotliデコーダの範囲外書き込みCVE-2026-111497である。不正なブロック切り替えを一時的な入力不足として扱うため、node:zlibで細工したデータを展開すると、8バイトの内部バッファを越えて書き込む。プロセスメモリの破壊、漏えい、遠隔からのコード実行につながり、26.x、24.x、22.xが対象である。ほかのHighは3件ある。NULバイトを含むホスト名をdns.resolve系とdns.reverseが黙って切り詰めるCVE-2026-105482、全角数字などで書いたIPv4ではIPのSANがない証明書をDNS名との照合で受理し得るCVE-2026-105483(26.xと24.x)、先頭がゼロのIPv4で接続先と証明書の照合先がずれるCVE-2026-106069である。サポートを終了した版は、今回の修正を受け取らない。同日の依存更新には、eMudhraの中間CA侵害に伴うCA証明書の差し替えも含まれる。

示唆

26、24、22のプロセスは、26.12.1、24.22.1、22.23.4へそれぞれ上げる対象になる。Brotliはアプリケーションが圧縮を直接呼ばなくても、node:zlibを使う依存が展開した時点で経路に入る。サポートを終了した版は、この修正を受け取らない。修正前のdns.resolve系は、許可リストを通したホスト名でもNULバイト以降を捨てて別の名前を解決し得る。全角数字や先頭がゼロのIPv4を外部から受けるTLSクライアントは、接続先と証明書の照合先がずれ得る。同梱のCAバンドルもこのリリースで差し替わるため、信頼ストアをイメージへ焼き込んでいる場合は再ビルドしてから配布する。

Nodejs

Ruby、Onigmoの正規表現コンパイル不具合を修正版で直す

サイト記事

事実

Rubyは10月23日、4.0.9、3.4.12、3.3.13を公開した。正規表現エンジンOnigmoで、GitLabがサーバ上の遠隔コード実行につながるとして4件のCVEを付けたメモリ破壊を修正している。内訳は、交互のあとの解析失敗で起きるダブルフリー、コンパイル後のサイズ計算の整数オーバーフロー、繰り返しの多いパターンで内部IDが溢れる欠陥である。4.0系ではダブルフリーが4.0.0、サイズ計算のオーバーフローが4.0.8、繰り返しIDのオーバーフローが4.0.9で入る。各系統で4件すべてがそろう最初の版は、4.0.9、3.4.12、3.3.13である。到達するのは、攻撃者が制御する文字列をRegexp.new、Regexp.compile、Regexp.union、または式展開で正規表現へコンパイルする場合に限られる。開発者がソースへ書いた正規表現だけを使うアプリは対象外である。Regexp.timeoutでは防げず、パターン長の上限でも確実には防げない。GitLabは、出荷するRubyへパッチを当てて自社のリリースで対処している。3.3.13ではresolvの脆弱性も修正されている。Ruby本体には、現時点でこれらの修正に対するCVE番号はない。

示唆

外部から受け取った文字列を正規表現としてコンパイルするアプリは、4.0系なら4.0.9以降、3.4系なら3.4.12以降、3.3系なら3.3.13以降へ上げる対象になる。4.0.8にはサイズ計算のオーバーフローまでが入るが、繰り返しIDのオーバーフローは4.0.9からである。タイムアウトやパターン長の制限は、コンパイル時のメモリ破壊を確実には止める手段にならない。開発者がソースへ書いた正規表現だけを使うアプリは、この不具合の到達条件の外にある。GitLabが出荷するRubyを直していても、それ以外のプロセスはアプリごとの実行環境を別に上げる。3.3.13はresolvの修正も含むので、3.3系はこの版で正規表現と名前解決の両方を取り込む。

Ruby-lang

eMudhraの中間CA 8枚で秘密鍵が復元できる状態だった

サイト記事

事実

Mozillaは10月17日20時6分UTC、eMudhraの中間CA証明書8枚の秘密鍵が危殆化した報告を受けた。内訳はTLS用6枚、コード署名用2枚で、TLS用6枚はChrome、Mozilla、Microsoft、Appleのルートプログラムが信頼する鎖にある。Mozillaは証明を確認し、FirefoxのOneCRLによる失効を同日22時59分UTCに完了した。ChromeはCRLSetで同日中にブロックしている。Mozillaは報告者の手法を知らないまま秘密鍵を復元し、鍵生成の欠陥であり容易に再現できると確認した。問題のP-384秘密鍵は256未満の整数で、末尾1バイトを除けば実質ゼロである。Python側はcertifi 2026.10.19、pip 26.2.2、uv 0.13.4以上への更新と、コンテナイメージの再ビルドを求めている。

示唆

FirefoxとChromeは失効リストで、この中間証明書を拒否する側へ回っている。失効情報を取得しないクライアントと、イメージに固定したCAバンドルは、ブラウザを更新しても入れ替わらない。秘密鍵が短い整数から復元できるため、問題の中間証明書になりすました証明書を第三者が作れる。その状態が、信頼ストアを入れ替える理由になる。PythonのHTTPSはcertifiなどの同梱バンドルを使うことが多く、パッケージを上げただけでは稼働中イメージの中身は変わらない。反映の単位は、イメージの再ビルドと再配布である。コード署名用の2枚はTLSとは別に、署名の検証元がこの中間証明書をまだ信頼していないかを確認する対象になる。

Mozilla

Railway、環境変数の保管系への不正アクセスを公表

サイト記事

事実

Railwayは10月21日、顧客の環境変数を保管するシステムで不審な活動を検知したと公表した。権限のない第三者が、暗号化された環境変数へアクセスし、一部については復号した中身を取得した可能性がある。環境変数にはAPIキー、データベースやレジストリの資格情報が入り得る。同社は、影響が一部の利用者に限られる可能性を示しつつ、全利用者に対し、Railway上の環境変数とプライベートレジストリの資格情報を直ちにローテーションし、各サービスのログを確認するよう勧告した。一連の攻撃は、プラットフォーム事業者を経由してAI推論プロバイダの鍵を狙うものとみており、上流へ鍵の失効を通知したとしている。バケットの認証情報とGitHubトークンはRailway側でリセット済みで、再デプロイとGitHubへの再接続が必要になる。公表の時点では調査のためデプロイは停止され、ビルドが戻るまで新しい版は出せない。

示唆

環境変数をRailwayに置いているプロジェクトは、影響を受けたアカウントの通知を待たずに、環境変数とレジストリ資格情報を差し替える対象になる。勧告は全利用者へ向いている。一部に限られる可能性は、ローテーションを遅らせる条件にはならない。復号され得た値にはAPIキーやデータベース資格情報が含まれるため、発行元に残る鍵はRailway上の値を消しただけでは無効にならない。推論プロバイダの鍵は、上流側の失効とRailway側の差し替えが揃ってはじめて閉じる。バケット認証情報とGitHubトークンは同社がリセット済みなので、再デプロイとGitHubの再接続をしないと取得やビルドの資格情報が古いまま残る。発行元での失効はビルド再開を待たずに進められ、新しい版の配信はビルドが戻るまで止まる。

Railway