ホームページ :テクノロジーを簡単に楽しむ、未来を自由に見る

Curl、GitHubに「悪意のあるUnicode」セキュリティ問題を警告

Curlの開発者が、GitHubのプルリクエストでASCII文字をUnicodeに置き換えた悪意のある変更が見逃された問題を指摘し、対策を導入した

最新の更新

Curlの主任開発者であり創設者のダニエル・ステンベリ氏は、Curlのコントリビューターがプルリクエスト内でASCII文字をUnicodeの代替文字に置き換えた事例を報告した。この変更は「ASCIIバージョンと視覚的に同一に見える」ため、チームの人間のレビュアーやCIジョブのいずれも気づかなかった。

URL内の1文字以上の変更は、状況によっては壊滅的な影響を及ぼす可能性がある。ステンベリ氏はこの問題に対処するため、Curlチームが「悪意のあるUnicode」を検出するチェックを導入したと説明。具体的には、Gitリポジトリ内のすべてのファイルをスキャンし、UTF-8シーケンスを検証するCIジョブを追加した。

CurlのGitリポジトリでは、ほとんどのファイルとコンテンツがプレーンなASCIIであるため、限られたUTF-8シーケンスと特定のファイルのみをホワイトリストに登録し、それ以外のファイルでのUTF-8使用を禁止。違反した場合はCIジョブが失敗し、エラーとして表示される。また、Curlリポジトリ内のすべてのテストファイルを精査し、UTF-8の使用箇所を他のエスケープシーケンスやASCII文字に置き換えた。一部のUTF-8は誤って使用されていたもので、容易にASCIIに置き換え可能だった。

この対策により、Curlは同様のセキュリティリスクを未然に防ぐ体制を強化した。