公開日:2023/09/12 最終更新日:2023/09/20

JVNVU#96140980
OpenSSLのPOLY1305 MAC実装におけるWindows上のXMMレジスタが破損する問題(Security Advisory [8th September 2023])

概要

OpenSSL Projectより、OpenSSL Security Advisory [8th September 2023](POLY1305 MAC implementation corrupts XMM registers on Windows (CVE-2023-4807))が公開されました。

影響を受けるシステム

  • OpenSSL 1.1.1から1.1.1v
  • OpenSSL 3.0.0から3.0.10
  • OpenSSL 3.1.0から3.1.2
OpenSSL 1.0.2は、本脆弱性の影響を受けないとのことです。

詳細情報

OpenSSL Projectより、OpenSSL Security Advisory [8th September 2023]が公開されました。

深刻度 - 低(Severity: Low)
OpenSSLのPOLY1305 MAC実装は、64バイトを超えるデータのMACを計算するときに、Windows 64プラットフォーム上の不揮発性XMMレジスタの内容を保存しません。呼び出し元に戻る前に、すべてのXMMレジスタは以前の内容に復元されず、ゼロに設定されるため、呼び出し側アプリケーションに様々な影響を及ぼす可能性があります。この問題のあるコードは、AVX512-IFMA命令をサポートする新しいx86_64プロセッサでのみ使用されます。
また、POLY1305 MAC実装は、CHACHA20-POLY1305 AEAD(Authenticated Encryption with associated data)アルゴリズムの一部として使用されます。このAEAD暗号は、一般的にTLSプロトコルバージョン1.2および1.3で使用され、OpenSSLを使用するサーバーアプリケーションが影響を受ける可能性がありますが、本脆弱性公開時点では、この問題の影響を受けるような具体的なアプリケーションは確認されていないとのことです。

なお、OpenSSL Projectは、POLY1305 MAC実装はFIPSとして承認されておらず、FIPSプロバイダはそれを実装していないため、影響を受けないとしています。

想定される影響

呼び出し側アプリケーションが不揮発性XMMレジスタの内容にどの程度依存しているかによって影響が異なりますが、可能性の高い影響は、アプリケーションに依存する計算結果が不正確になったり、サービス運用妨害(DoS)状態にされたりすることです。

対策方法

アップデートする
本脆弱性を修正した以下のバージョンがリリースされました。

  • OpenSSL 1.1.1w
  • OpenSSL 3.0.11
  • OpenSSL 3.1.3
ワークアラウンドを実施する
以下のように、環境変数OPENSSL_ia32capを設定し、実行時にAVX512-IFMA命令のサポートを無効にする。
  • OPENSSL_ia32cap=:~0x200000

参考情報

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE
JVN iPedia

更新履歴

2023/09/13
[対策方法]および[ベンダ情報]を更新しました
2023/09/20
[対策方法]および[ベンダ情報]を更新しました