| タイトル | Reini UrbanのCpanel::JSON::XSにおける型の取り違えに関する脆弱性 |
|---|---|
| 概要 | Perl向けのCpanel::JSON::XSバージョン4.41未満では、dupkeys_as_arrayrefが有効な場合に重複したオブジェクトキーを介して型混同が発生する可能性があります。decode_hv()関数はdupkeys_as_arrayrefが有効な場合、重複したオブジェクトキーを配列参照にまとめます。重複キーに対する処理の中で「SvTYPE(old_value) != SVt_RV && SvTYPE(SvRV(old_value)) != SVt_PVAV」のチェックが行われますが、これはold_valueが参照型であることを確認する前にSvRV(old_value)を評価しています。既存の値が配列参照でなく単なるスカラーの場合、参照でないスカラーを誤って参照として逆参照してしまいます。dupkeys_as_arrayrefを有効にして信頼できないJSONをデコードする呼び出し元はクラッシュし、その後の不整合なアクセスは攻撃者が制御するスカラーの内容から得られたポインタを使用して行われます。 |
| 想定される影響 | ・当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 ・当該ソフトウェアの一部が停止する可能性があります。 |
| 対策 | ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年6月3日0:00 |
| 登録日 | 2026年6月8日12:30 |
| 最終更新日 | 2026年6月8日12:30 |
| CVSS3.0 : 重要 | |
| スコア | 7.3 |
|---|---|
| ベクター | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年06月08日] 掲載 |
2026年6月8日12:30 |
| 概要 | Cpanel::JSON::XS versions before 4.41 for Perl allow type confusion via duplicate object keys when dupkeys_as_arrayref is enabled. decode_hv() collapses duplicate object keys into an array reference under dupkeys_as_arrayref. The branch reached for a duplicate key tests `SvTYPE (old_value) != SVt_RV && SvTYPE (SvRV (old_value)) != SVt_PVAV`, which evaluates SvRV(old_value) before establishing that old_value is a reference. When the existing value is a plain scalar rather than an array reference, a non-reference scalar is dereferenced as a reference. A caller decoding untrusted JSON with dupkeys_as_arrayref enabled is crashed, and the incompatible access follows a pointer taken from attacker controlled scalar contents. |
|---|---|
| 公表日 | 2026年6月3日10:16 |
| 登録日 | 2026年6月4日4:16 |
| 最終更新日 | 2026年6月6日2:36 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:a:rurban:cpanel\:\:json\:\:xs:*:*:*:*:*:perl:*:* | 4.41 | ||||