【海外記事紹介】「RustもバグるならC++と同じ」は誤解 — CVE報告基準の根本的な違いをcurlで解説
DRANK

6月15日、Jakub Beránek氏が「How memory safety CVEs differ between Rust and C/C++」と題した記事を公開した。この記事では、RustとC/C++におけるメモリ安全性関連のCVE(脆弱性報告)の扱われ方の本質的な違いについて詳しく紹介されている。以下に、その内容を紹介する。CVE数の比較は誤解を招くRustの採用が進む中、「RustもCVEが報告されているならC/C++と変わらない」という批判が繰り返し登場する。しかしこの比較には重要な前提が欠けている。両言語ではメモリ安全性に関する潜在的脆弱性の報告基準が根本的に異なるのだ。著者は世界で最も使われているC言語のネットワークライブラリcurlを例に、この違いを鮮やかに説明している。curlで5行の「脆弱性」を作る実験curlは1998年のリリース以来、長年にわたって開発され、非常に堅牢なライブラリとして知られている。著者はそのドキュメントから最初に見つけた関数curl_getenvを使い、次のような5行のプログラムを書いた。#include <curl/curl.h>int ...

by @tf_official
Related Topics: Rust Vulnerability C++