rust-OpenSSL Projectのrust-OpenSSLにおける境界外書き込みに関する脆弱性
タイトル rust-OpenSSL Projectのrust-OpenSSLにおける境界外書き込みに関する脆弱性
概要

rust-opensslはRustプログラミング言語向けのOpenSSLバインディングを提供しています。バージョン0.10.78未満では、aes::unwrap_key()に誤ったアサーションが含まれていました。具体的には、out.len() + 8 = in_.len() をチェックしていますが、この条件は逆になっています。本来の不変条件は out.len() = in_.len() - 8 であり、これにより出力バッファが十分な大きさであることを保証します。逆になったチェックのため、この関数は最小必要サイズと同じかそれ以下のバッファしか受け入れず、大きいものは拒否します。より小さいバッファが提供された場合、関数は out の末尾を in_.len() - 8 - out.len() バイト分書き越してしまい、安全な公開関数からの境界外書き込みが発生します。この脆弱性はバージョン0.10.78で修正されました。

想定される影響 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

公表日 2026年4月24日0:00
登録日 2026年4月30日12:18
最終更新日 2026年4月30日12:18
CVSS3.0 : 緊急
スコア 9.8
ベクター CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
影響を受けるシステム
rust-OpenSSL Project
rust-OpenSSL 0.10.24 以上 0.10.78 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
変更履歴
No 変更内容 変更日
1 [2026年04月30日]
  掲載
2026年4月30日12:18

NVD脆弱性情報
CVE-2026-41678
概要

rust-openssl provides OpenSSL bindings for the Rust programming language. From to before 0.10.78, aes::unwrap_key() contains an incorrect assertion: it checks that out.len() + 8 <= in_.len(), but this condition is reversed. The intended invariant is out.len() >= in_.len() - 8, ensuring the output buffer is large enough. Because of the inverted check, the function only accepts buffers at or below the minimum required size and rejects larger ones. If a smaller buffer is provided the function will write past the end of out by in_.len() - 8 - out.len() bytes, causing an out-of-bounds write from a safe public function. This vulnerability is fixed in 0.10.78.

公表日 2026年4月25日3:16
登録日 2026年4月25日4:08
最終更新日 2026年4月29日2:41
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:a:rust-openssl_project:rust-openssl:*:*:*:*:*:rust:*:* 0.10.24 0.10.78
関連情報、対策とツール
共通脆弱性一覧