cURL、AI生成の脆弱性報告に溺れる

2025-07-14
cURL、AI生成の脆弱性報告に溺れる

cURLのセキュリティチームは、低品質の脆弱性報告の洪水に悩まされています。その多くはAIによって生成されたものです。これらの報告は、多大な時間とリソースを浪費します(1件の報告につき3~4人、30分から3時間)。そのため、真の脆弱性の発見効率が大幅に低下しています。2025年現在、提出された報告書の約20%がAI生成のゴミであり、有効な報告書の割合は大幅に減少しています。チームは、金銭的報酬の撤廃や、低品質な報告書の削減のための他の対策を検討しています。チームのメンタルヘルスとプロジェクトの安全性を維持するためです。

続きを読む
開発

GitHub Diffの脆弱性:Unicode文字置換の悪用

2025-05-17
GitHub Diffの脆弱性:Unicode文字置換の悪用

curlプロジェクトの貢献者であるJames Fullerが、GitHubのdiffビューアにおける脆弱性を発見しました。悪意のある攻撃者は、視覚的に同一のUnicode文字でASCII文字を置き換えることで、コードを気付かれずに変更できます。これにより、URLの改ざんなど、深刻な結果につながる可能性があります。GitHubのdiffビューアは警告を出さなかったものの、Giteaなどの他のプラットフォームはこうした変更を指摘しました。curlプロジェクトは、悪意のあるUnicode文字を検出するためのCIチェックを実装し、UTF-8シーケンスをクリーンアップすることで対応しました。これは、潜在的な攻撃を防止するための積極的なコードセキュリティ対策の必要性を強調しています。

続きを読む

Curlによる.onionドメインのブロック:セキュリティと使いやすさのせめぎ合い

2025-05-16
Curlによる.onionドメインのブロック:セキュリティと使いやすさのせめぎ合い

Torユーザーによる.onionドメインのDNSリークを防ぐために、curlは2年前にRFC 7686を実装し、.onionドメインの解決をブロックしました。しかし、これによりTorの新しいツールoniuxがcurlを使用して.onionサイトにアクセスできなくなります。これは、セキュリティと使いやすさの間の相反する点を浮き彫りにします。RFCを厳格に遵守するとユーザーエクスペリエンスに影響を与え、制限を緩和するとセキュリティリスクが増加します。curlチームは現在、セキュリティとユーザーニーズのバランスをとる解決策を模索しています。

続きを読む
テクノロジー DNSリーク

curlのドット災難:2つのCVEと終わらない追跡

2025-05-15
curlのドット災難:2つのCVEと終わらない追跡

curlチームは、URL内のホスト名における末尾のドット(.)を巡って、永続的な問題を抱えてきました。最初は無視していましたが、末尾のドットを必要とするウェブサイトをサポートするために、後にサポートを復活させました。しかし、この変更は、Cookie処理とHSTSメカニズムにそれぞれ影響を与える2つのセキュリティ脆弱性(CVE-2022-27779とCVE-2022-30115)を意図せず導入しました。これらの脆弱性は、末尾のドットの不適切な処理により、ドメインの誤った一致を引き起こしたことが原因です。curl 7.83.1はこれらの問題を解決しますが、作者はこれが長期にわたる闘争の始まりに過ぎないのではないかと疑っています。

続きを読む
開発

安全なCurl:数十億のインストールのための信頼性の高いCコードの構築

2025-04-07
安全なCurl:数十億のインストールのための信頼性の高いCコードの構築

curlチームは、C言語で安全かつ信頼性の高いネットワーク転送ツールを構築するための実践を共有しています。静的解析やファジングを含む広範なテストの重要性を強調しています。セキュリティ上の脆弱性の約40%はC言語のメモリ安全性の問題に起因しますが、厳格なコーディング規約、スタイルの適用、危険な関数の回避により、この数値を抑えています。curlのコーディングスタイルは、行長の制限、短い変数名、警告のないコンパイルを通じて、可読性と保守性を重視しています。堅牢なエラー処理、APIの安定性、慎重なメモリ管理は、ソフトウェアの信頼性とセキュリティに不可欠です。

続きを読む

curlの実験的HTTPS RRサポート:次世代DNSレコード

2025-03-31
curlの実験的HTTPS RRサポート:次世代DNSレコード

curlは現在、新しいDNSレコードタイプHTTPS RRを試験的にサポートしています。これは、SRVやURIよりも現代的な方法で、ECH設定、ALPNリスト、ターゲットホスト名、ポート、IPアドレスなどのサービスメタデータを伝達します。HTTPS RRは、HTTPS接続のセキュリティ(SNIフィールドのECH暗号化による)と効率性(HTTP/3サポート情報の事前取得による)を向上させ、サービス検出を簡素化します。curlは、DoH、getaddrinfo()、またはc-aresを使用してHTTPS RRの解決を実行しますが、現在、実行時の無効化はサポートされておらず、HTTPS RRのサポートはまだ不完全です。

続きを読む
開発

curl.seのトラフィック分析:1日2TB、一体どこから来ているのか?

2025-02-22
curl.seのトラフィック分析:1日2TB、一体どこから来ているのか?

curl.seウェブサイトは、月間62.95TBのトラフィックを処理しており、平均して1日あたり2TB以上、ピーク時には3.41TBに達しています。詳細なログはありませんが、データによると、124.3億件のリクエストのうち、curlパッケージのダウンロードは112万件のみでした(総トラフィックの10%未満)。トラフィックの大部分(99.77%)はFastly CDNキャッシュによって処理されています。しかし、HTTP/1.1とTLS 1.2の広範な使用は、ブラウザ以外のトラフィック、おそらくボットやその他のツールからのトラフィックが大量にあることを示唆しています。分析によると、100KB~1MBのファイル(おそらくCA証明書)の2億731万件のダウンロードが、残りのトラフィックの大部分を説明できる可能性があります。トラフィックは、以前は中国に集中していたのに対し、現在は世界中に均等に分散されています。

続きを読む

20年以上にわたる安全でない接続との戦い:libcurl回顧録

2025-02-11
20年以上にわたる安全でない接続との戦い:libcurl回顧録

1998年にcurlがSSLをサポートして以来、デフォルトの証明書検証はネットワークセキュリティの礎石となっています。しかし、開発者は依然としてこの重要なチェックを無効にすることが多く、広範囲にわたる脆弱性につながっています。この記事ではlibcurlの進化を振り返り、検証を無効にする危険性を探り、APIの改善、ドキュメントの強化、積極的なバグ報告などの解決策を提案します。安全な接続のための戦いは長期にわたる戦いとなります。

続きを読む

OpenSSLがQUIC APIを提供しない:HTTP/3普及への逆風?

2025-01-21
OpenSSLがQUIC APIを提供しない:HTTP/3普及への逆風?

最も人気のあるTLSライブラリであるOpenSSLが、今後のリリースでQUIC APIを提供しないと発表し、HTTP/3の普及に大きな障害が生じています。コミュニティからのプルリクエスト(PR8797)で必要なAPIが提供されていたにもかかわらず、OpenSSL運営委員会は、ゼロから完全なQUICスタックを構築することを決定しました。これは数年かかる見込みです。すでに成熟したQUICライブラリが存在するにもかかわらず、この決定はコミュニティに不満を引き起こしています。MicrosoftとAkamaiは、QUIC APIを搭載したOpenSSLフォークであるquictlsを作成して対応しました。しかし、これは永続的な解決策ではなく、OpenSSLの決定によりHTTP/3の普及は不確実な状況に置かれています。

続きを読む
開発

curlの大幅アップデート:部分ファイル読み込みに対応

2024-12-30
curlの大幅アップデート:部分ファイル読み込みに対応

今後のcurl 8.12.0リリースでは、エキサイティングな新機能が導入されます。部分ファイルの読み込みに対応します。ユーザーは新しい変数システムを利用して、ファイルから特定のバイト範囲を抽出し、curlコマンドラインで使用できるようになります。これにより、curlによるファイルの処理方法に大きな柔軟性が加わり、ファイルの先頭部分をユーザー名として抽出したり、中央部分をPOST本文として使用したりといったタスクが可能になります。curlの機能が大幅に拡張され、より堅牢なコマンドラインツールがユーザーに提供されます。

続きを読む

cURLとlibcurlがHyperサポートを終了

2024-12-22
cURLとlibcurlがHyperサポートを終了

4年間の試行の後、cURLプロジェクトはRustで記述されたHyperライブラリをHTTPバックエンドとして使用することを断念すると発表しました。Hyperはメモリ安全性に優れ、Let's Encryptの支援を受けていましたが、ユーザーからの需要と開発者の参加が不足していたため、最終的にプロジェクトは終了しました。cURLチームは、Hyperコードの維持コストが高いため、既存のコードの最適化と保守に注力すると述べています。実験は失敗に終わったものの、cURLは貴重な経験を得て、HTTP処理能力を向上させました。

続きを読む
開発

HTTP/3の現状:普及に向けた課題と展望

2024-12-16
HTTP/3の現状:普及に向けた課題と展望

HTTP/3の仕様は完成していますが、正式な公開はまだ先です。サーバー側のサポートは予想以上に高く、特に上位サイトで顕著です。Cloudflareなどの大手企業はHTTP/3を有効化しており、ブラウザも広くサポートしています。しかし、curlなどのクライアントソフトウェアのHTTP/3サポートはまだ不完全で、主にQUIC対応のTLSライブラリの開発遅延が原因です。OpenSSLのQUICサポートは延期されており、BoringSSLやquictlsなどの代替案にもそれぞれ制限があります。HTTP/3は速度向上を約束していますが、実際の効果はネットワーク環境に依存します。今後のHTTP/3の広範な採用は、仕様の公開と成熟したTLSライブラリに依存します。

続きを読む
開発