概要
リモートの SUSE ホストに 1 つ以上のセキュリティ更新がありません。
説明
リモートの SUSE Linux SLES15 ホストには、SUSE-SU-2026:4926-1 のアドバイザリに記載された複数の脆弱性の影響を受けるパッケージがインストールされています。
- CVE-2025-40929:整数オーバーフロー(bsc#1249331)。
- CVE-2026-9334:「dupkeys_as_arrayref」が有効な場合の重複オブジェクトキーによる型の取り違え(bsc#1267546)。
- CVE-2026-9516:デコードフィルターコールバックがスローされる際の UTF-8 BOM プレフィックス入力によるサービス拒否(bsc#1267547)。
- CVE-2026-110672:「decode_hv」にコロンがない重複またはコロンの欠如のために拒否されたオブジェクトのデコードされたキーの漏洩(bsc#1286166)。
- CVE-2026-110673:「decode_tag」の「allow_tags」下のネスト化されたタグ付き値によるスタックの枯渇(bsc#1286167)。
- CVE-2026-110674:重複する非 ASCII ベアキーが欠落し、「decode_hv」の「dupkeys_as_arrayref」で型の取り違え(bsc#1286168)。
- CVE-2026-110675:「decode_hv」の「allow_barekey」下のベアハッシュキーで、不正な形式の UTF-8 が受け入れられました(bsc#1286169)。
- CVE-2026-110676:「allow_bignum」の下で指数表記を完全な十進数としてエンコードすることによるメモリ枯渇(bsc#1286170)。
- CVE-2026-110677:「decode_hv」の「dupkeys_as_arrayref」下で漏洩した重複するキー値を収集する配列(bsc#1286173)。
- CVE-2026-110678:「incr_parse」の「max_size」を超えて増分入力をバッファリングすることによるメモリ枯渇(bsc#1286174)。
- CVE-2026-110680:「encode_hv」での正規なエンコーディング中に、タイトまたは共有されたハッシュが増加する際の領域外書き込み(bsc#1286175)。
- CVE-2026-110681:新しい「ithread」に複製されたパーサーオブジェクトからの親インタープリターのスカラー(bsc#1286176)。
- CVE-2026-110682:入力チャンキングにより、「incr_parse」のトップレベル数値のデコードされた値が変更される可能性があります(bsc#1286177)。
- CVE-2026-110684:「encode_stringify」で値を文字列としてエンコーディングする際に、メモリ漏洩および過負荷オブジェクトが保持されます(bsc#1286179)。
- CVE-2026-110685:THAW メソッドが「decode_tag」で消滅した場合に漏洩されたタグ付け値のデコードされた引数(bsc#1286180)。
- CVE-2026-110686:「decode_hv」でのデコーディング中にフィルターがそれ自体を削除する際に使用される、解放されたフィルターコールバック(bsc#1286181)。
- CVE-2026-110687:「utf16_cmp」の正規エンコーディング中にバイト文字列キーの順序が間違っていました(bsc#1286182)。
- CVE-2026-110688:「incr_parse」の値ごとの残りのバッファ再検証による二次 CPU 使用(bsc#1286183)。
perl-Cpanel-JSON-XS の変更:
- 4.800.0 へ更新済み(4.80)
- すべてのモジュールファイルにバージョンマーカーを追加します。(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)。
eg/bench_large.pl:
古いエンコード: 20.5--22.9/s デコード: 16.2--16.5/s for 4.53 新しいエンコード: 21.1--22.5/s デコード: 15.7--16.3/s for 4.80 4.53 2026-09-28 (rurban)
- arm neon の C90 違反を修正します(GH #258 rjbs)
- ネイティブの arm64 テストランナーを追加しました。
- 2026 年 9 月 12 日4.524.520.0(4.52)に更新しました(rurban)
- SIMD UTF-8 に対する OSX 10.9 修正(Christian Carey 氏)
- メンテナンス担当者のメールを [email protected] 4.51 2026 年 9 月 11 日に変更 (rurban)
- より高速な SIMD UTF-8 検証を追加します(GH #213、Zhang Boyang 氏)
- 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 をファイルハンドルに直接ストリームします(GH #250、yairlenga によるリクエスト。2016 年に GH #58 で設計)。
バインドされた 8k チャンクバッファが埋められたときに内部的にフラッシュし、ピークメモリを大きなデータ構造に対してバインドしたままにします。
- GH #237 で提案されたエンコーダーパフォーマンスの改善(17dec):
* 大整数エンコーディングで、snprintf の代わりに 100 桁の検索テーブルが使用されるようになりました。これは、既存の分岐しない小整数ファストパス(|value| > 59000)外の整数に対して約 2 倍高速です。
* encode_str は、エスケープを必要としない連続したバイトの実行を、バイトごとに need()+store の代わりに一括コピーするようになり、エスケープする文字がほとんどない、またはまったくない文字列に対して特に高速にエスケープします。
結果の eg/bench_large.pl を追加。
- 2026 年 9 月 2 日4.444.440.0(4.44)に更新しました(rurban)
- 正規ソートの無限ループを修正(GH #252 amelchio):無効な形式の UTF-8 キー(Unicode と混合した Latin-1 バイト文字列など)が、デコーダーの(STRLEN)-1 無効な形式のセンチネルを長さとして処理し、バッファポインターをラップするutf16_cmpました。今では、0 または>の残り長さとしてチェックされます。
- 2026 年 7 月 18 日4.434.430.0(4.43)に更新(rurban)
- 正規ソートを修正: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 を使用します。
- 2026 年 6 月 27 日4.424.420.0(4.42)に更新しました(rurban)
- タイプ仕様の hashref でエンコードしても、hashref 引数を変更しないようにします(GH #240)
- -e docs:「written」->「read」を修正します(GH #239、Ron Savage 氏による報告)。
- undef に一致するブール均衡乗数のオーバーロードを修正します(GH #207、fd-t による報告)。
Cpanel::JSON::XS::Boolean のオーバーロードされた eq は、undef が '' に文字列化されるため、undef を false と同じものとして一致させます。defined() ガードを追加しました。
- 祝福されたオブジェクトに対する過負荷の文字列化を示すエラーメッセージを修正します(GH #191、karenetheridge による報告)。エラーメッセージが '' オーバーロードをバイパスして ClassName=TYPE(addr) 形式を使用するようになりました。
- allow_blessed/convert_blessed をオーバーライドするtype_all_stringを修正します(GH #175、alpha6 による報告)。type_all_string + allow_blessed では、祝福されたオブジェクトは null としてエンコードされるようになりました(HASH アドレスとして文字列化されません)。
- encode が '' オーバーロードから呼び出される際の無限再帰を修正します(GH #128、pbrthemaster による報告)。再帰ガードは、オーバーロードを呼び出す前に JSON オブジェクト上の convert_blessed フラグと allow_stringify フラグを一時的にクリアし、再入可能なエンコードループを防止します。
- 破損したオブジェクトを作成する $obj->new を修正します(GH #93、cpansprout による報告)。
new() が既存のオブジェクト(例: $json->new->new)で呼び出される際、文字列化された参照が使用されるのではなく、クラス名がオブジェクトの stash から抽出されるようになりました。
- デフォルトallow_nonref true に変更します(GH #241、JSON::P P および JSON::XS 4.0+ および安全でない RFC 7159 に一致)。
encode と decode が、デフォルトで非参照値を受け入れるようになりました。
明示的な 0/1 秒の引数を持つ decode_json() は、引き続き機能します。
allow_nonref(0) でセキュアな JSON に対してスカラーのみを無効にします。
- マイナーな t/12_blessed.t の誤字を修正します。
- GH #112 を修正します:32 ビットPerlで .0 なしで大きな整数 NV 値をエンコードします(Perl が float として保存する UV_MAX を超える値)。
- GH #197を修正します:IV は正確であるが NV が不正確な(SvNOK が設定されていない)の値をエンコードする際に、pNOK よりも IOK を優先します。
- 2026 年 5 月 27 日4.414.410.0 (4.41) に更新しました(rurban)
- incr_parse単一引用符文字列デリミタを修正します(GH #245、Paul Johnson 氏による報告)
- 切り捨てられた入力の allow_barekey を介して到達可能な 1 バイトの領域外ヒープ読み取りを修正します(GH #244、Paul Johnson 氏による報告)
- 2025 年 9 月 7 日4.404.400.0(4.40)に更新しました(rurban)
- ファジングのみで、長すぎる数値による CVE-2025-40929 オーバーフローを修正します。
- 小数点以下 2 桁の無効な形式の数字を検出します。
- pinact run -u を介して github アクションを最新の@vに固定します(bsc#1249331)
- 2024 年 12 月 12 日 4.394.390.0 (4.39) に更新しました (rurban)
- Windows -Dusequadmath を修正します(Sisyphus GH #235、GH #229)
- エスケープされたサロゲートとエスケープされていないサロゲートのデコード、およびエスケープされた非文字とエスケープされていない非文字の間の一貫性のない動作を修正します。
JSON::P P に整列されました(Gavin Hayes GH #233、GH #227)
- type_all_stringテストを追加(Bernhard Schmalhofer GH #236)
- UV から char へのキャスト警告を抑制します(bulk88 GH #232)
- MSVC プリプロセッサエラーを修正します(bulk88 GH #232)
- Windows の -Wformat 警告を修正します(Sisyphus GH #228)
- BigInt デコードを明確化します(GH #226)
Tenable は、前述の記述ブロックを SUSE セキュリティアドバイザリから直接抽出しています。
Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。
ソリューション
影響を受ける perl-Cpanel-JSON-XS パッケージを更新してください。
プラグインの詳細
ファイル名: suse_SU-2026-4926-1.nasl
エージェント: unix
サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/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:suse_linux:15, p-cpe:/a:novell:suse_linux: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-2025-40929, 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, CVE-2026-9334, CVE-2026-9516
SuSE: SUSE-SU-2026:4926-1