つみかさね

CVE-2026-27459

Critical(9.8)

CVE-2026-27459 — pyOpenSSL バッファオーバーフロー 脆弱性

公開日: 2026-03-24データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
pyOpenSSLpyca>= 22.0.0, < 26.0.0
CVEpyOpenSSLバッファオーバーフローCWE-120Python

概要

pyOpenSSL は Python から OpenSSL ライブラリ を 利用 する ため の ラッパー パッケージ であり、TLS/SSL 通信 や 暗号処理 を 行う 多数 の Python アプリケーション で 広く 利用 されて います。Web フレームワーク、API サーバー、メールサーバー など 様々 な ネットワーク アプリケーション の 基盤 と なる 重要 な ライブラリ です。

この 脆弱性 は set_cookie_generate_callback メソッド に ユーザー が 提供 する コールバック 関数 の 戻り値 処理 に 存在 します。コールバック が 256 バイト を 超える クッキー 値 を 返した 場合、pyOpenSSL は OpenSSL が 内部 で 確保 した 固定長 バッファ を オーバーフロー させて しまいます。CWE-120(バッファサイズ の 確認 なし の バッファ コピー)に 分類 される 古典的 な バッファオーバーフロー 脆弱性 です。

バッファオーバーフロー は メモリ 破壊 を 引き起こし、アプリケーション の クラッシュ(サービス拒否)から 任意 コード 実行 まで 様々 な 影響 が 考えられます。CVSS スコア 9.8 と 極めて 高い 深刻度 が 付与 されて おり、pyOpenSSL を 使用 して いる 全て の 環境 で 早急 な アップデート が 必要 です。

技術的 背景

TLS/DTLS の ステートレス クッキー 機能 は セッション 再開 や DDoS 対策 の ため に 使用 される 仕組み です。OpenSSL は クッキー 生成 の ため の コールバック インターフェース を 提供 して おり、pyOpenSSL は Python 側 の コールバック 関数 を OpenSSL の C 言語 レベル の コールバック に ブリッジ して います。

問題 の 根本 原因 は、OpenSSL が 内部 で 確保 する バッファ の サイズ が 256 バイト に 制限 されて いる の に 対し、pyOpenSSL 側 で コールバック の 戻り値 の 長さ を チェック せず に そのまま バッファ に コピー して いた 点 に あります。C 言語 レベル で の バッファ 境界 チェック の 欠如 は 典型的 な メモリ 安全性 の 問題 であり、Rust や メモリセーフ な 言語 への 移行 が 議論 される 背景 の 一つ でも あります。

この 脆弱性 は 特に DTLS(Datagram Transport Layer Security)を 使用 する アプリケーション に 影響 が 大きい です。DTLS は UDP ベース の 暗号化 通信 プロトコル で、VPN、WebRTC、IoT デバイス 間 通信 など で 使用 されて います。これら の アプリケーション で pyOpenSSL の クッキー コールバック 機能 を 利用 して いる 場合、リモート から の 攻撃 に さらされる 可能性 が あります。

CVSS ベクトル

項目
CVSS スコア9.8
深刻度Critical
CWECWE-120(バッファサイズ の 確認 なし の バッファ コピー)
攻撃元区分ネットワーク
攻撃条件 の 複雑さ
必要 な 権限不要
ユーザー 操作不要

影響 を 受ける ソフトウェア

製品影響 バージョン修正 バージョン
pyOpenSSL22.0.0 〜 25.x26.0.0

修正 バージョン と 回避策

pyOpenSSL 26.0.0 で この 脆弱性 は 修正 されて います。22.0.0 から 25.x まで の バージョン を 使用 して いる 場合 は、速やか に 26.0.0 以降 へ アップデート して ください。pip を 使用 して いる 場合 は pip install --upgrade pyopenssl で 更新 できます。暫定 的 な 回避策 として は、set_cookie_generate_callback の コールバック 関数 で 戻り値 の 長さ を 256 バイト 以下 に 制限 する こと が 有効 です。ただし、根本 的 な 修正 として は ライブラリ の アップデート を 強く 推奨 します。依存 パッケージ の 管理 ツール(pip-audit、safety 等)を 活用 して 脆弱 な バージョン の 検出 を 自動化 する こと も 重要 です。

関連 リンク


データソース: NVD (NIST), GitHub Advisory Database AI解説 は Claude API に より 自動生成 されています。正確性 に ついては 原文 を ご確認 ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。