curlに24件の脆弱性、HTTP/2の欠陥はHigh評価

curl の
脆弱性の概要
- 対象
- curl
- 悪用
- 確認されていない
- 影響
- 悪質なサーバーへの接続で停止やコード実行のおそれ
- 修正版
- 修正版あり
- 公表元
- curl / Ubuntu
| 製品 | 対象のバージョン | 修正版 |
|---|---|---|
| curl | 8.12.0〜8.22.0 | 8.23.0 |
| Ubuntu 26.04 LTS | 修正版より前 | 8.18.0-1ubuntu2.8 |
| Ubuntu 24.04 LTS(CVE-2026-92392 は対象外) | 修正版より前 | 8.5.0-2ubuntu10.16 |
| Ubuntu 22.04 LTS(CVE-2026-92392 は対象外) | 修正版より前 | 7.81.0-1ubuntu1.30 |
製品の履歴:curlの脆弱性一覧Ubuntuの脆弱性一覧
やること
curl(URL でデータをやり取りするソフト)を修正版へ更新してください。
- 公式の配布物は 8.23.0 です
- Ubuntu は apt で更新してください。26.04 LTS は USN-8927-1、24.04 LTS 以前は USN-8932-1 です。20.04 LTS 以前は Ubuntu Pro が必要です
- すぐに更新できない場合、公式は HTTP/2 を使わないことを回避策に挙げています
公式は回避策を3つ挙げています。8.23.0 以降へ上げること、手元の版に修正のパッチを当てること、HTTP/2 を使わないことです。HTTP/2 を使わない方法は、公式のページには書かれていません。curl のコマンドなら、HTTP/1.1 を指定する --http1.1 オプションがあります。プログラムの中の libcurl は、そのプログラムの設定で HTTP のバージョンを指定します。
Ubuntu は公式の新しいバージョンへ上げず、今のバージョンに修正だけを取り込みます(バックポート)。24.04 LTS の curl が 8.5.0 のままなのはこのためで、バージョン番号だけでは判断できません。パッケージのバージョンを上の表と比べてください。同じ仕組みの例は OpenSSH 10.6の欠陥、Ubuntuは版そのままで9件を修正 にもあります。
USN-8927-1 と USN-8932-1 のページには、再起動についての記載がありません。通常のシステム更新で必要な変更は入ると書かれています。curl のコマンドは実行のたびに読み込まれますが、libcurl を使って動き続けているプログラムは、そのプログラムを再起動するまで古いものを使います。
何が危ないのか
開発チームは10月14日に24件を公表しました。内訳は High が1件、Low が23件です。
CVE-2026-92392 は HTTP/2 のアップロードの欠陥です。アップロードの途中でサーバーから、HTTP/1.1 を求める通知か、ストリームの拒否の通知を受けると、解放済みのメモリを使ってしまいます。CVSS は CISA の評価で 8.1 です。認証は要らず、ネットワークから届きますが、攻撃の複雑さは「高」と評価されています。
公式は、コードの実行につなげられることを実証したとしながら、多くの条件が要ると説明しています。
- 使っている curl の版とメモリの構造が分かっている
- 実行環境のアーキテクチャと、C ライブラリのメモリの配置が分かっている
- 2つの転送を並行させ、そのタイミングを保てる
- 今のところ、実行できるコマンドは約23バイトまでに限られる
つまり、悪意のあるサーバーへつなぐ側の curl が狙われる形です。外から自社のサーバーへ攻撃されるのではなく、自社の端末やプログラムが、悪意のあるサーバーに接続したときが問題です。CVE 記録の CISA の評価では、攻撃の実証用のコードがある段階(poc)で、攻撃を自動で広げる形は想定されていません。悪用の確認は公表されていません。
Low の23件には、認証情報が別の接続先へ送られるものも含まれます。たとえば次のとおりです。
- CVE-2026-94266:
.netrcから取った認証情報が、CURLINFO_EFFECTIVE_URLで返る URL に含まれることがある - CVE-2026-86414:HTTP プロキシが予期しない認証の要求を返すと、認証情報がプロキシへ送られる
- CVE-2026-94265、CVE-2026-86413:Negotiate 認証の情報が、別のオリジンに送られる
- CVE-2026-86410:SFTP や SCP への転送で、ホストの確認がされない
対象
CVE-2026-92392 の対象は 8.12.0 から 8.22.0 ですが、8.20.2 以降の 8.20系、8.16.2 以降の 8.16系、8.14.3 以降の 8.14系は対象外です。curl のコマンドも、libcurl を組み込んだプログラムも影響を受けます。
Ubuntu では 26.04 LTS と 26.10 が対象です。26.10 は 8.20.0-2ubuntu11.1 で修正されています。24.04 LTS 以前はこの欠陥の対象外ですが、ほかの9件の修正があります。
Ubuntu の通知で見ると、CVE ごとに対象のリリースが違います。たとえば CVE-2026-86409 と CVE-2026-87862 は 22.04 LTS と 24.04 LTS、CVE-2026-87863 は 24.04 LTS が対象です。26.04 LTS の USN-8927-1 は、24件のうち18件を挙げています。
中小企業が学べること
curl は、OS のコマンドとして入っているだけでなく、業務のアプリ、バックアップのソフト、スクリプトの中でも使われます。自分で curl を入れた覚えがなくても、アプリが自分の中に libcurl を持っていることがあります。次の2つを手順にしておくと、更新を取りこぼしにくくなります。
- 自社が運用するスクリプトや定期処理で、
curlを使っているものを洗い出し、接続先が自社と取引先のサーバーだけになっているかを見る。今回の欠陥は、悪意のあるサーバーへつなぐ側に当たるため、接続先を限るだけで当たる範囲が狭まる - アプリの提供元に、同梱の libcurl の版と、更新の予定を聞く。OS の更新では直らないものがあるため
認証情報を .netrc やコマンドラインの引数に直接書く運用は、今回の Low の欠陥のように、別の経路で漏れる危険があります。環境変数やシークレットの管理の仕組みへ移せるものは移してください。
自社で確かめること
- パッケージのバージョンを見るUbuntu では curl --version の表示では判断できないので、dpkg -l で curl と libcurl のパッケージのバージョンを上の表と比べてください。
- プログラムの中の libcurl を探すcurl の部品 libcurl は多くのプログラムが使います。プログラムが自分の中に持っている場合は、OS の更新では直りません。



コメント 0
まだコメントはありません。