【活用ガイド】

JVNDB-2024-029752

 Miljan IlicのSecurePropsにおける非効率的な正規表現の複雑さに関する脆弱性

概要

SecurePropsは、オブジェクト内のプロパティデータの暗号化および復号化を簡素化するために設計されたPHPライブラリです。SecurePropsバージョン1.2.0および1.2.1には、復号処理時に正規表現がタグを検出できない脆弱性が存在します。この問題は、暗号化データが`NullEncoder`でエンコードされ、`TagAwareCipher`に渡された場合に発生し、暗号化データ内に「\n」などの特殊文字が含まれているときに発生します。その結果、タグが検出されず復号処理がスキップされ、暗号化データが平文のまま返されてしまいます。本脆弱性は、`TagAwareCipher`を`NullEncoder`(デフォルトではありません)を利用した任意のベース暗号と組み合わせて実装しているユーザーに影響します。修正版がリリースされており、ユーザーはバージョン1.2.2へアップデートすることが推奨されています。ワークアラウンドとしては、`Base64Encoder`(デフォルトのエンコーダ)を`TagAwareCipher`で修飾したベース暗号とともに利用することで、暗号化文字列中の特殊文字が正規表現によるタグ検出処理に影響するのを防止できます。この回避策は安全ですが、`TagAwareCipher`がデフォルトで`NullEncoder`を使用しているため、場合によっては二重エンコードになる可能性があります。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 2.6 (注意) [その他]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 高
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 低
  • 完全性への影響(I): なし
  • 可用性への影響(A): なし
影響を受けるシステム


Miljan Ilic
  • SecureProps 1.2.0
  • SecureProps 1.2.1

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

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

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

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 非効率的な正規表現の複雑さ(CWE-1333) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2024-28864
参考情報

  1. National Vulnerability Database (NVD) : CVE-2024-28864
  2. 関連文書 : [BUG] Special Character Handling in `TagAwareCipher`  Issue #20  ilicmiljan/secure-props
  3. 関連文書 : Fix Parsing Tagged Encrypted Data by ilicmiljan  Pull Request #21  ilicmiljan/secure-props  GitHub
  4. 関連文書 : Merge pull request #21 from IlicMiljan/fix-parsing-tagged-encrypted-data  ilicmiljan/secure-props@ab7b561  GitHub
更新履歴

  • [2026年01月06日]
      掲載