| タイトル | SecurePropsのTagAwareCipherにおけるNullEncoder処理不備による脆弱性 |
|---|---|
| 概要 | SecurePropsは、オブジェクト内のプロパティデータの暗号化および復号化を簡素化するために設計されたPHPライブラリです。SecurePropsバージョン1.2.0および1.2.1には、復号処理時に正規表現がタグを検出できない脆弱性が存在します。この問題は、暗号化データが`NullEncoder`でエンコードされ、`TagAwareCipher`に渡された場合に発生し、暗号化データ内に「\n」などの特殊文字が含まれているときに発生します。その結果、タグが検出されず復号処理がスキップされ、暗号化データが平文のまま返されてしまいます。本脆弱性は、`TagAwareCipher`を`NullEncoder`(デフォルトではありません)を利用した任意のベース暗号と組み合わせて実装しているユーザーに影響します。修正版がリリースされており、ユーザーはバージョン1.2.2へアップデートすることが推奨されています。ワークアラウンドとしては、`Base64Encoder`(デフォルトのエンコーダ)を`TagAwareCipher`で修飾したベース暗号とともに利用することで、暗号化文字列中の特殊文字が正規表現によるタグ検出処理に影響するのを防止できます。この回避策は安全ですが、`TagAwareCipher`がデフォルトで`NullEncoder`を使用しているため、場合によっては二重エンコードになる可能性があります。 |
| 想定される影響 | 当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| 対策 | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2024年3月18日0:00 |
| 登録日 | 2026年1月6日11:59 |
| 最終更新日 | 2026年1月6日11:59 |
| CVSS3.0 : 低 | |
| スコア | 2.6 |
|---|---|
| ベクター | CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:N |
| Miljan Ilic |
| SecureProps 1.2.0 |
| SecureProps 1.2.1 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年01月06日] 掲載 |
2026年1月6日11:59 |
| 概要 | SecureProps is a PHP library designed to simplify the encryption and decryption of property data in objects. A vulnerability in SecureProps version 1.2.0 and 1.2.1 involves a regex failing to detect tags during decryption of encrypted data. This occurs when the encrypted data has been encoded with `NullEncoder` and passed to `TagAwareCipher`, and contains special characters such as `\n`. As a result, the decryption process is skipped since the tags are not detected. This causes the encrypted data to be returned in plain format. The vulnerability affects users who implement `TagAwareCipher` with any base cipher that has `NullEncoder` (not default). The patch for the issue has been released. Users are advised to update to version 1.2.2. As a workaround, one may use the default `Base64Encoder` with the base cipher decorated with `TagAwareCipher` to prevent special characters in the encrypted string from interfering with regex tag detection logic. This workaround is safe but may involve double encoding since `TagAwareCipher` uses `NullEncoder` by default. |
|---|---|
| 公表日 | 2024年3月19日7:15 |
| 登録日 | 2024年3月19日10:00 |
| 最終更新日 | 2024年11月21日18:07 |