| タイトル | rust-OpenSSL Projectのrust-OpenSSLにおける複数の脆弱性 |
|---|---|
| 概要 | rust-opensslはRustプログラミング言語向けにOpenSSLバインディングを提供します。バージョン0.9.27から0.10.78未満の間、Deriver::derive(およびPkeyCtxRef::derive)はlen = buf.len()を設定し、これをEVP_PKEY_deriveへの入出力長さとして渡しており、OpenSSLがこれを尊重することに依存していました。OpenSSL 1.1.xでは、X25519、X448、DHおよびHKDF-extractは受信した*keylenを無視し、条件なく完全な共有秘密(32/56/素数サイズのバイト)を書き込みます。短いスライスを渡した呼び出し元は安全なコードからヒープやスタックのオーバーフローを引き起こします。OpenSSL 3.xのプロバイダーはこのチェックを行うため、この問題は古いOpenSSLにのみ影響します。この脆弱性は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.9.27 以上 0.10.78 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年04月30日] 掲載 |
2026年4月30日12:18 |
| 概要 | rust-openssl provides OpenSSL bindings for the Rust programming language. From 0.9.27 to before 0.10.78, Deriver::derive (and PkeyCtxRef::derive) sets len = buf.len() and passes it as the in/out length to EVP_PKEY_derive, relying on OpenSSL to honor it. On OpenSSL 1.1.x, X25519, X448, DH and HKDF-extract ignore the incoming *keylen, unconditionally writing the full shared secret (32/56/prime-size bytes). A caller passing a short slice gets a heap/stack overflow from safe code. OpenSSL 3.x providers do check, so this only impacts older OpenSSL. This vulnerability is fixed in 0.10.78. |
|---|---|
| 公表日 | 2026年4月25日3:16 |
| 登録日 | 2026年4月25日4:08 |
| 最終更新日 | 2026年4月29日2:30 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:a:rust-openssl_project:rust-openssl:*:*:*:*:*:rust:*:* | 0.9.27 | 0.10.78 | |||