Blog

ディープダイブ:重大度の高いlibcurl/curlの脆弱性の発見と修正

October 20, 2023
ローラ・バーハイド

ほんの少し前に、安全保障と開発のコミュニティに勧告が出されました カールプロジェクトのリードデベロッパー、ダニエル・ステンバーグ 不幸な手紙を落とした 影響の大きい2つのセキュリティ脆弱性に対処するために、10月11日に配布されたcurlの新しいバージョンがリリースされたこと。そのうちの1つが「おそらく長期間で最悪のcurlセキュリティ上の欠陥」だと彼は説明している。

A 死後 Stenbergのブログで、影響を受けるバージョンのcurlライブラリが、2002年以降使用されているSOCKS5プロキシプロトコルのレガシー問題に関連する、ヒープベースのバッファオーバーフローの脆弱性の影響を受けやすいことが指摘されています。

curlは1998年までコマンドラインツールとして使用されてきたため、インターネットの基盤となる柱として広く認められています。このように名高い歴史があり、広く使用されてきたため、脆弱であることが判明した場合、サイバーセキュリティ全般に継続的な影響が及ぶおそれがあります。

この事件は、の壊滅的なLog4Shell攻撃と類似点を共有しています Log4j、ほぼ2年経った今でも悪用されているもう1つの脆弱な依存関係です。

>>> カールミッションで今すぐ知識をテストしてください!

脆弱性:バッファオーバーフロー

エクスプロイトの詳細は以下のとおりです。 CVE-2023-38545、および8.3.0までのcurlバージョン7.69.0に影響します。主なバグはヒープベースのバッファオーバーフローの脆弱性で、最初の報告では、悪用が成功すると、より壊滅的なリモートコード実行(RCE)攻撃につながる可能性があることが報告されていました。これは脅威アクターにとっては可能なワークフローですが、特定の使用例というよりはむしろまれな使用事例です。

おそらく、一部のリスクを軽減するための救いの1つは、悪意のある通信がSOCKS5プロキシを経由しなければならないことですが、これは比較的まれな展開です。

curl エクスプロイトに匹敵するように、このバッファオーバーフローの説明を見てみましょう。

curl が SOCKS5 プロキシを使用するように指示されると、curl はホスト名を渡し、プロキシに解決させます。ただし、ホスト名が 255 バイトの制限を超えると、curl はホスト名をローカルで解決します (以下のコードスニペット参照)。 ソース)。

クライアントとプロキシ間のハンドシェイクが遅い場合、(短い)解決されたアドレスの代わりに長いホスト名がメモリバッファにコピーされる可能性があります。割り当てられたメモリ部分では 255 バイトの値しか使用できないため、この制限を超える値を受け取ると、データがメモリバッファの境界を越えてしまいます。

>>> これで自分で試してみてください プレイアブルミッション!

バッファオーバーフローは強力な攻撃ベクトルであり、多くのレガシープログラミング言語で蔓延する可能性があります。この特定のケースでは、悪用によって、状況によっては RCE という形で、より深刻で被害の大きい攻撃への道が開かれました。ただし、この経路はまだ珍しく、ありそうもないです。

バッファオーバーフローのリスクをどのように軽減できますか?

この段階で最も優先度の高い修正は、脆弱なすべてのインスタンスにパッチを適用することです。ただし、curl の使用が非常に広範囲に及んでいるため、システムのコンポーネントに使用中の依存関係が含まれていることが必ずしも明らかでなかったり、宣伝されたりしない場合があります。その場合は、監査とその後のパッチ適用が必要です。

一般に、バッファオーバーフローの欠陥は、次のようなメモリセーフ言語を使用することで軽減できます。 さびただし、curl のような広大なプロジェクトの場合と同様に、別の言語に移植したり、気まぐれで書き直したりするのは現実的ではありません。ステンバーグのように 注釈 メモリセーフな言語で書かれたより多くの依存関係を使用しサポートできる可能性、あるいは curl の一部を徐々に置き換える代替案について議論する中で、「... 開発は... 現在... 氷河期に近いスピードで行われ、関連する課題が痛々しいほど明確に示されています。curl は近い将来、C 言語で記述されたままになります。」これは決して小さな仕事ではなく、セキュリティへの影響も計り知れません。

セキュリティ上のミスは起こり得ますし、起こり得るすべての攻撃ベクトルを検出するためにスキャナーやテストに頼ることが常に可能であるとは限りません。したがって、これらのバグとの闘いにおける私たちの最大の武器は、継続的なセキュリティ意識向上とスキル構築への取り組みです。

安全なコードを書いてリスクを軽減する方法についてもっと知りたいですか?

私たちを試してみてください ヒープオーバーフローチャレンジ無料

無料のコーディングガイドラインをもっと入手したい場合は、チェックしてください セキュア・コード・コーチ 安全なコーディングのベストプラクティスを常に把握するのに役立ちます。

キャッチフレーズ

Govern AI-driven development before it ships

Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.

book a demo
キャッチフレーズ

Explore more blogs

これは、オーラが射手と鼻の穴を広げることによって、腸管を熱的に発芽させ、臭いを帯びていることを防ぐためのものです。

browse all
Case Study
Filter Label
This is some text inside of a div block.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Learn More
Case Study
Filter Label
This is some text inside of a div block.

One Culture of Security: How Sage built their security champions program with agile secure code learning

Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Enabler 6: Regular Reporting to Leadership

Executive buy-in doesn't sustain itself. Enabler 6 shows how regular reporting keeps leadership engaged, informed, and invested in program success.

Learn More
Blog
Filter Label
This is some text inside of a div block.

The Future of AI Software Governance Is Built on Strong Partnerships

Discover why Secure Code Warrior is becoming a channel-first company and how trusted partners help organizations adopt AI Software Governance securely and at scale.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Citizen AI by Secure Code Warrior: Build an AI-Ready Workforce

Secure Code Warrior's AI literacy program for non-developer employees.

Learn More

Secure AI-driven development before it ships

See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.

Book a demo