概要
リモートの openSUSE ホストに 1 つ以上のセキュリティアップデートがありません。
説明
リモートの openSUSE 16 ホストに、複数の脆弱性の影響を受けているパッケージがインストールされています。これらの脆弱性は openSUSE-SU-2026:22187-1 アドバイザリで言及されています。
perl-Cpanel-JSON-XS の変更:
- 4.800.0 に更新されました(4.80) + Stig Palmquist 氏による報告によるセキュリティ修正(CPANSec):
* CVE-2026-110672 デコード:許可されない重複キーおよび欠如している ':' のハッシュキーを解放します(リーク)。 bsc#1286166
* CVE-2026-110673 デコード:allow_tagsをチャージ(max_depthに対するネスト化(スタックオーバーフロー)。 bsc#1286167
* CVE-2026-110674 デコード:ベアキーを UTF-8 として表示します。これにより、重複チェックが非 ASCII キーで見逃されたりクラッシュしたりすることがなくなります。 bsc#1286168
* CVE-2026-110675 decode:引用符で囲まれたキー(無効な形式のキー)のように、ベアハッシュキーを UTF-8 として検証します。 bsc#1286169
* CVE-2026-110676 エンコード:巨大な指数を持つ Math::BigFloat 値をコンパクトallow_bignumします(12 バイトから 30MB)。 bsc#1286170
* CVE-2026-110677 デコード:dupkeys_as_arrayref参照カウントを修正(あらゆる配列が漏洩)。 bsc#1286173
* CVE-2026-110678 incr_parse:あらゆるコンテキストでバッファされたテキストにmax_sizeを適用します。 bsc#1286174
* CVE-2026-110680 エンコード:タイトまたは共有のハッシュを増加させるために標準キースナップショットをバインド(オーバーフロー)。 bsc#1286175
* CVE-2026-110681 new:親のポインターを共有するのではなく、コールバックと ithread クローンのバッファ SV を複製します。 bsc#1286176
* CVE-2026-110682 incr_parse:チャンクが値を変更するため、allow_nonrefが明示的に設定されていない限り、トップレベルの数値、true、false、または null を拒否します。文字列、配列、オブジェクトは変更されません。 bsc#1286177
* CVE-2026-110684 encode:オーバーロードされたオブジェクト(リーク)を文字列化する際に一時参照をリリースします。 bsc#1286179
* CVE-2026-110685 decode_tag:THAW が機能しなくなったとき(リーク)、タグとその引数を解放します。 bsc#1286180
* CVE-2026-110686 decode:フィルターコールバックを実行中は有効に保ちます(フィルターがそれ自体を削除する際の use-after-free)。 bsc#1286181
* CVE-2026-110687 canonical:バイト文字列のキーを Latin-1 としてソートします。 bsc#1286182
* CVE-2026-110688 incr_parse:デコードされたテキストの最後までのみ UTF-8 を検証します(2 次 CPU)。 bsc#1286183 + すべてのモジュールファイルにバージョンマーカーを追加します。(PR #260 demerphq) + 非推奨の utf8n_to_uvuni API を回避するために、Perl 5.32 以降で utf8n_to_uvchr を使用します。(PR #260 demerphq) + デコードされた JSON(GH #238)のスキーマベースの検証を追加します:
Cpanel::JSON::XS::Type は現在 check_type($data, $schema[, $found_type]) を提供します。これは、既存のエンコーダー構成要素(JSON_TYPE_* / json_type_arrayof / json_type_hashof / json_type_anyof)から構築された型仕様に対して、すでにデコード済みの perl 構造体、および欠如している可能性のあるハッシュキー用の新しい json_type_optional()、および短いスカラー型名 sugar(「Str」、 「Int」、「Float」、「Bool」、「Null」、「Any」、および null 許容型「str?」など)したがって、スキーマは、リクエストに応じて、単なるキーとタイプのハッシュとして読み取られます。エンコーダーのハッシュタイプの仕様とは異なり、プレーンな hashref スキーマは閉じられています:未知のキーと必要なキーの欠如が報告されます。新しい $json->decode_and_validate($json_text, $schema) メソッドが、Perl の通常の dual-var/stringified-number の不明瞭さを回避するために、decode() 独自の型イントロスペクションをグラウンドトゥルースとして使用して、検証に失敗した場合に、すべての不一致で鳴き声を上げます。
+ json_type_optional() および null 許容型名サフィックス ('Str?', 'Int?', 'Float?', 'Bool?') により、スキーマは、すべてのキーに対して完全な型仕様を要求する代わりに、キー/値をオプションとして宣言する明示的な方法をスキーマに与えます。また、エンコーダーは json_type_optional() を直接理解するようになっています(encode() は実際に存在するキーだけを見るため、ラップされた型へラップ解除されます): check_type()/decode_and_validate() 用に構築された全く同じ型仕様を、ハッシュキー「...」に指定されていない型で鳴らすのではなく、そのまま encode() に渡せるようになりました。すべてのオプションのキーに対して、エンコーディングはデフォルトで厳密なままです。そうでなければ:タイプ仕様のエントリがまったくないハッシュキーは、依然として鳴ります(GH #242)。
- 4.53 2026-09-28 (rurban)
- arm neon の C90 違反を修正します(GH #258 rjbs)
- ネイティブの arm64 テストランナーを追加しました。
- 4.520.0 へ更新済み(4.52)
- 4.52 2026-09-12 (rurban)
- SIMD UTF-8 に対する OSX 10.9 修正(Christian Carey 氏)
- メンテナーのメールを [email protected] に変更
- 4.51 2026-09-11 (rurban)
- より高速な SIMD UTF-8 検証を追加します(GH #213、Zhang Boyang 氏) https://github.com/cyb70289/utf8、MIT。
- yath のテストを修正します(GH #255、H.Merijn Brand 氏): テストファイルは現在、Test::Harness だけでなく Test2::Harness で動作し、yath がインストールされている場合は、「make xtest」に yath 実行が追加されます。
- 32 ビット IV を搭載した Perls での t/117_numbers.t テストを 1 つスキップします(GH #254、Jeremy Hansen 氏)。
- 4.50 2026 年 9 月 8 日(rurban) + $json->encode_to($fh, $data, [$type]) を追加し、結果全体をメモリに構築するのではなく、エンコードされた JSON を filehandle に直接ストリームします(GH #250、yairlenga によるリクエスト。2016 年に GH #58 で設計)。
バインドされた 8k チャンクバッファが埋められたときに内部的にフラッシュし、ピークメモリを大きなデータ構造に対してバインドしたままにします。
+ GH #237 で提案されたエンコーダーパフォーマンスの改善(17dec):
* 大整数エンコーディングで、snprintf の代わりに 100 桁の検索テーブルが使用されるようになりました。これは、既存の分岐しない小整数ファストパス(|value| > 59000)外の整数に対して約 2 倍高速です。
* encode_str は、エスケープを必要としない連続したバイトの実行を、バイトごとに need()+store の代わりに一括コピーするようになり、エスケープする文字がほとんどない、またはまったくない文字列に対して特に高速にエスケープします。
結果の eg/bench_large.pl を追加。
- 4.440.0 に更新しました(4.44) + 正規ソート無限ループを修正します(GH #252 amelchio):無効な形式の UTF-8 キー(例:Unicode と混合した Latin-1 バイト文字列)により、デコーダーの(STRLEN)-1 無効な形式のセンチネルを長さとして処理utf16_cmpし、バッファポインターをラップするようになりました。今では、0 または>の残り長さとしてチェックされます。
- 4.430.0 に更新(4.43) + 正規ソートを修正:RFC 8785 に従った UTF-16 コード単位による比較(GH #248、leont)
* Perl 5.8-5.18での標準的なソートを修正します:古い Perl では、有効な UTF-8 ハッシュキーがフラグセットなしで保存することがあるため、utf16_cmp は SvUTF8 フラグをチェックせずに、UTF-8 デコーディングを常に試みるようになりました。
* 大きな浮動小数点に対して .0 をドロップする quadmath エンコードを修正します(GH #246、Tux による報告)。
NV 値の> UV_MAXの付加を抑制する .0 ガード条件は、高精度 FP(quadmath、arm64 の 128 ビットロングダブル)では不適切であり、%g は 1.01e30 などの値に固定小数点表記を使用します。double/80-bit-ld でのみスキップするように #if NV_DIG < 31 で保護されています。%g は自然に大きな値に対して %e を使用します。
Tenable は、前述の記述ブロックを SUSE セキュリティアドバイザリから直接抽出しています。
Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。
ソリューション
影響を受ける perl-Cpanel-JSON-XS パッケージを更新してください。
プラグインの詳細
ファイル名: openSUSE-2026-22187-1.nasl
エージェント: unix
サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:L/Au:N/C:C/I:N/A:C
ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
現状ベクトル: CVSS:3.0/E:U/RL:O/RC:C
脆弱性情報
CPE: cpe:/o:novell:opensuse:16.0, p-cpe:/a:novell:opensuse:perl-cpanel-json-xs
必要な KB アイテム: Host/local_checks_enabled, Host/cpu, Host/SuSE/release, Host/SuSE/rpm-list
エクスプロイトの容易さ: No known exploits are available
参照情報
CVE: CVE-2026-110672, CVE-2026-110673, CVE-2026-110674, CVE-2026-110675, CVE-2026-110676, CVE-2026-110677, CVE-2026-110678, CVE-2026-110680, CVE-2026-110681, CVE-2026-110682, CVE-2026-110684, CVE-2026-110685, CVE-2026-110686, CVE-2026-110687, CVE-2026-110688