「CVEには問題がある」開発者が3年前の脆弱性情報に大激怒した理由:727th Lap
脆弱性が見つかると固有の番号が割り振られ、世に情報が公開される。ある開発者は「そのCVEのシステムには問題があると」主張した。
ソフトウェアなどに何らかの脆弱(ぜいじゃく)性が見つかった時や、それに関連するインシデントが発生した時、それらの事象に対して「CVE」(Common Vulnerabilities and Exposures:共通脆弱性識別子)が割り当てられる。
CVEのおかげで脆弱性の存在が世に広まり、ユーザーは何らかの対策を講じることができる。だが、ある開発者は「CVEのシステムには大きな問題がある」と主張する。その裏には、どんな理由があったのか?
CVEが登場する以前は、脆弱性やインシデントが明らかになったとき、問題を抱える製品のベンダーが独自の名称を付けて発表していた。統一性のない情報はさらなる混乱を生みかねないことから、1999年に非営利団体のMitre CorporationがCVEの仕組みを提案し、米国政府の支援を受けて実現した。
CVEの申請から登録までの流れは次の通りだ。まず、脆弱性やインシデントを見つけたベンダーはルールにのっとってMitreが運営するCVEのWebサイトで申請する。Mitreはそれを精査して、CVE IDを割り当てると同時に名称を決め、情報を公開する。あくまでも、脆弱性やインシデントの事実のみが掲載されるだけだ。
データ転送ライブラリの開発プロジェクト「cURL」に参加し、セキュリティ技術関連に取り組むエンジニアのダニエル・ステンバーグ氏は、このCVEの仕組みそのものに大きな問題があると指摘した。事の始まりは同氏が受け取ったあるメールだった。その内容は、2023年8月26日に投稿した自身のブログに書かれている。
ブログによると、記事を掲載する前日にcURLのメーリングリスト宛てに「cURL関連の脆弱性として『CVE-2020-19909』が掲出された。だが、cURLの公式Webサイトではそのことが公表されていない。プロジェクトメンバーは問題を認識していないのか」との連絡があった。
その情報を送った人物によれば、CVE-2020-19909は2023年8月下旬にNVD(National Vulnerability Databas)で公開されたとのことだった。CVEのルールとして、2セクション目、つまり「2020」は報告を受けた年数を示す。つまり、CVE-2020-19909は2020年に申請されたCVE IDということだ。
NVDとは、NIST(アメリカ国立標準技術研究所)が管理する脆弱性情報データベースだ。CVEが提供する情報に対してどのような問題があるのかを解析して問題の大小を評価し、解決に向けた情報を提供している。つまり、見つかった脆弱性に対してIDを付与するのがCVEで、その脆弱性を評価して世界に報告するのがNVDだ。
NVDは2023年8月22日にあえてCVE-2020-19909を公表した。しかも、その危険度は10点満点中9.8点で、評価は「Critical」だった。それを目にした人がcURLのメーリングリスト宛てに「これはどういうことだ」と連絡してきたわけだ。
ステンバーグ氏は指摘を受けたCVE-2020-19909に心当たりがあったという。さかのぼること4年前。2019年7月27日に、フォーラムサイト「HackerOne」に「cURLのコマンドラインオプションに整数オーバーフローの問題がある」との投稿があった。ステンバーグ氏はこの投稿を見た後、直ちにその脆弱性を修正した。HackerOneの投稿に対して「修正済み」と報告して、2019年9月にリリースされたcURLのバージョン7.66.0でバグを修正したため、大きな問題に発展することはなかった。
ところが、第三者がこれをCVEに報告し(恐らく2020年のこと)、さらに2023年8月になってNVDがそれを「Critical」だと再報告したことが、今回の問題の発端だ。問題の脆弱性はとっくに修正されていて何の問題もないところを、今ごろになって「危険」と報告されたことでステンバーグ氏はCVEおよびNVDの仕組みに「問題がある」と指摘した。
同氏は、CVEよりもNVDに対して憤りを感じたようで、「整数オーバーフローという単語だけでNVDは『非常に危険』と判断した。NVDのスタッフはCVEの情報を確認するだけで、問題のあるコードやパッチの状況をチェックしていない」と語った。
NVDはステンバーグ氏の報告を受けてか、評価を修正したものの、すでにNVDの誤報は世界中に広く拡散されてしまった。ステンバーグ氏はこのNVDの誤った情報伝達を「ウイルスのようだ」と表している。CVE-2020-19909は、すでに登録済みのため削除されることはないという。
脆弱性情報が広く世界に共有されることは歓迎すべきことだが、誤情報が含まれているとなると、一体何を信じていいのかが分からなくなる。CVEのシステムとNVDの評価には一考の余地があるだろう。
上司X: とっくに解決した脆弱性がいまさら「超危険」と評価されて拡散された、という話だよ。
ブラックピット: 整数オーバーフローって、まあ、確かに脆弱性としてはポピュラーですし、割と目にしますよね。でも、解決済みなんでしょう?
上司X: そうなんだよな。3年も前に解決してるのに、いまさら「クリティカルな問題だ」と拡散されたとして、すでにコードは直しているわけだし。
ブラックピット: 脆弱性をいますぐ直せっていうのではなく、誤情報の対処に奔走しなければならないというのも妙な話ですよね。
上司X: 結局、CVEとNVDの連係ミスだったという。
ブラックピット: それこそ、いま流行の生成AIを使って、申請された脆弱性を精査したらよかったんじゃないですかね?
上司X: いや、逆に「AIが関与したから今回の誤報告があったのでは?」と指摘する人もいるみたいだよ。あくまで推測だけどね。
ブラックピット: そうなんですね。だったら、なおさら人間が手間と時間を割いて確実にチェックしないと正確な脆弱性情報を提供できないですねえ。
上司X: ともかくだ、CVEが脆弱性にIDを付与して、NVDがそれを世間に広く拡散する。そういう流れで多くの人が脆弱性に対処することができるわけだからな。それが誤っていると、いろいろと困ったことになるのは確かだ。早急に、こういう問題はなくなってほしいものだよ。
ブラックピット(本名非公開)
年齢:36歳(独身)
所属:某企業SE(入社6年目)
昔レーサーに憧れ、夢見ていたが断念した経歴を持つ(中学生の時にゲームセンターのレーシングゲームで全国1位を取り、なんとなく自分ならイケる気がしてしまった)。愛車は黒のスカイライン。憧れはGTR。車とF1観戦が趣味。笑いはもっぱらシュールなネタが好き。
上司X(本名なぜか非公開)
年齢:46歳
所属:某企業システム部長(かなりのITベテラン)
中学生のときに秋葉原のBit-INN(ビットイン)で見たTK-80に魅せられITの世界に入る。以来ITひと筋。もともと車が趣味だったが、ブラックピットの影響で、つい最近F1にはまる。愛車はGTR(でも中古らしい)。人懐っこく、面倒見が良い性格。
Copyright © ITmedia, Inc. All Rights Reserved.