7月1日、BleepingComputerが「開発者が CVE の重大度を拒否し、GitHub リポジトリを読み取り専用にする(Dev rejects CVE severity, makes his GitHub repo read-only)」と題した記事を公開した。この記事では、CVEシステムの功罪について詳しく述べている。
'node-ip' GitHubリポジトリのアーカイブ化
人気のあるオープンソースプロジェクト「node-ip」が、開発者自身の手によってGitHubリポジトリがアーカイブされ、読み取り専用になった。この措置は、CVE報告(CVE-2023-42282)に対する反応として行われたものである。開発者は、この問題に関してうんざりするほど多くのメッセージを受け取り、結果としてリポジトリをアーカイブすることを決定した。(GitHubとのやり取りの末、現在ではアーカイブは解除されている)
CVEシステムとは
CVE (Common Vulnerabilities and Exposures) システムは、セキュリティ研究者が発見した脆弱性を一意に識別し、カタログ化するために設計された。CVE番号は、脆弱性の一意な識別子として使用され、セキュリティ報告やデータベースで参照される。これにより、セキュリティ研究者、ベンダー、ユーザーが共通の脆弱性情報を共有し、対策を講じることが容易になる。
CVEシステムが開発者にもたらす痛み
最近、オープンソース開発者は、確認されていないCVE報告の増加に直面している。これにより、プロジェクトの利用者に不必要なパニックが生じ、開発者にとって頭痛の種となっている。CVEシステムは、元々はプロジェクトにおける脆弱性を報告し、カタログ化するために設計されたが、最近では確認されていない報告が増加している。
上記のCVE-2023-42282は、当初「クリティカル」と評価されていたが、開発者はこの評価に異議を唱えた。彼は、セキュリティ上の影響がそれほど大きいとは思えないと主張し、GitHubに対してCVEの取り消しを要求した。しかし、CVEの取り消しは簡単な作業ではなく、プロジェクトメンテナーがCVE番号付与機関(CNA)に連絡を取り、問題を解決する必要がある。
CVEシステムは、セキュリティ研究者が脆弱性を報告し、責任を持って公開するために設計されたが、最近では確認されていない報告が増加している。これにより、開発者やプロジェクトメンテナーは、無駄な報告に対処することに疲れてしまうことがある。
開発とセキュリティのバランス
このような問題は、どのようにバランスを取るべきかという質問を引き起こす。理論的な脆弱性を報告し続けると、オープンソースの開発者は多くの無駄な報告に対処しなければならなくなる。一方で、セキュリティ専門家が脆弱性を報告しないことも問題がある。さらに、アクティブなメンテナーがいないプロジェクトでは、脆弱性が公開されても修正されることがなく、連絡手段もないため、これらの問題に対処するのが難しい。
現時点では、これらの問題に対する簡単な解決策は存在しない。セキュリティ研究者、開発者、ベンダーコミュニティが協力して効果的な解決策を見つけるまでは、開発者は無駄な報告に対処することに疲れ、CVEシステムは実際には問題ではない脆弱性で溢れ続けるだろう。
詳細はDev rejects CVE severity, makes his GitHub repo read-onlyを参照していただきたい。