Amazon Linux 2023 : perl-Cpanel-JSON-XS (ALAS2023-2026-3352)

critical Nessus プラグイン ID 374390

概要

リモートの Amazon Linux 2023 ホストに、セキュリティ更新プログラムがありません。

説明

したがって、ALAS2023-2026-3352 のアドバイザリに記載されている複数の脆弱性の影響を受けます。

Perl の 4.80 より前の Cpanel::JSON::XS バージョンにより、オブジェクトのデコードされたキーが漏洩します。これは、重複キーまたは decode_hv のコロン欠如のために拒否されました。

24 バイト以上の引用符で囲まれたキー、または非 ASCII バイトまたはエスケープシーケンスを含むキーは、新しいスカラーにデコードされます。オブジェクトが、キーの後に ':' がないために拒否されたとき、または 4.09から重複するキーに対して、そのスカラーを解放するものはありません。allow_dupkeys、dupkeys_as_arrayref、または relaxed が設定されていない限り、重複キーはエラーとなります。

デコードが失敗した後も実行し続けるプロセスでは、拒否されたドキュメントごとに 1 つのキーが保持され、そのサイズは送信者が選択します。繰り返されるリクエストはプロセスメモリを使い果たします。(CVE-2026-110672)

Perlの 4.80 より前のCpanel::JSON::XSバージョンでは、decode_tagのallow_tags下でネスト化されたタグ付き値を介してスタックを枯渇させる可能性があります。

allow_tagsでは、( はタグ付けされた値を開始します。そのタグと値は再帰的にデコードされ、それぞれが別のタグ付けされた値を開始することができます。配列やオブジェクトとは異なり、このネストはmax_depthに対してカウントされません。

( bytes の実行により C スタックが使い果たされ、max_depthに関係なく捕捉できないセグメンテーション違反が発生します。(CVE-2026-110673)

Perl に対して 4.80 される前の Cpanel::JSON::XS バージョンでは、allow_bignum下の完全な十進数として指数表記をエンコードすることでメモリを消耗させることが可能です。

allow_bignumでは、分数または指数を含むJSON数値がMath::BigFloatにデコードされ、指数が個別に格納されるため、安価にデコードされます。型なし、またはJSON_TYPE_FLOATとしてエンコードすると、指数の単位あたり 1 桁の平文の 10 進形が書き込まれます。指数を囲むものは何もないため、12 バイトのテキスト [1e30000000] は 30 MB にエンコードされます。

allow_bignum でデコードされ、再度エンコードされた信頼できない JSON は、メモリと CPU を使い果たす可能性があります。(CVE-2026-110676)

Perl用 4.80 以前のCpanel::JSON::XSバージョンでは、incr_parseでmax_sizeを超えた増分入力をバッファリングすることでメモリを枯渇させる可能性があります。

パーサーは、各チャンクをそのバッファに追加します。スカラーまたはリストのコンテキストでは、バッファの長さではなく、進行した場所とmax_sizeを比較します。NULL バイトで始まるチャンクは、進行する前にパーサーを停止させ、void コンテキストの呼び出しはチェックをスキップするため、バッファは制限なく増大します。

incr_parseコンシューマーにデータをストリーミングするピアは、max_sizeに関わらずプロセスメモリを使い果たす可能性があります。
(CVE-2026-110678)

4.80用の Perl4.20 からの Cpanel::JSON::XS バージョンは、encode_hv での正規なエンコーディング中にタイまたは共有のハッシュが増加すると、領域外書き込みを行います。

canonical では、tied または threads::shared ハッシュのキーは、2 回目のパスがソートのためにそれらを収集する前にカウントされます。エンコーダーは、固定の 64 エントリのスタック配列を使用します。または、カウントが大きい場合は、最初のパスからのサイズが決まったヒープ配列を使用します。2 番目のパスがその容量を超えると、カウントが比較される前にエントリが領域外に書き込まれます。

これにより、スタックまたはヒープメモリが破損し、プロセスがクラッシュする可能性があります。(CVE-2026-110680)

Perl 用の 4.80 より前の Cpanel::JSON::XS バージョンでは、新しい ithread に複製されたパーサーオブジェクトからの親インタープリターのスカラーを使用します。

パーサーオブジェクトは、コールバックとその増分解析バッファを生のスカラーポインターとして保持します。スレッドが作成されると、これらは変更されずに新しいインタープリターにコピーされるため、子のパーサーは親に属し、すでにそこで解放されている可能性のあるスカラーを使用し、後で解放します。

スレッドが開始する前に作成され、スレッド内で使用されるパーサーは、解放されたコールバックを呼び出し、参照カウントを破損し、プロセスをクラッシュさせる可能性があります。(CVE-2026-110681)

4.80 以前の 3.0202 の Cpanel::JSON::XS バージョンにより、encode_stringify Perl で値を文字列としてエンコードする際にメモリが漏洩し、過負荷のオブジェクトが保持されます。

encode_stringify は、文字列形式で値を allow_stringify の下に、TO_JSONのないオブジェクトの場合は convert_blessed の下に、allow_bignum の下に書き込みます。オーバーロードのある配列またはハッシュオブジェクトの場合、スカラーオブジェクトの 4.20 から、解放されない追加の参照が取られるため、オブジェクトとそれが参照するすべてのものが解放されることはありません。4.10からも、文字列のコピーを決して解放しません。

このような値を含むデータを繰り返しエンコードすると、プロセスメモリが制限なく増加します。(CVE-2026-110684)

4.80 用の Cpanel::JSON::XS のバージョンでは、その THAW メソッドが decode_tag で無効になるとPerlタグ付けされた値のデコードされた引数が漏洩します。

allow_tagsでは、タグ付けされた値のクラス名と引数配列がデコードされ、クラスのTHAWメソッドに渡されます。どちらも THAW が戻った後にのみリリースされるため、THAW が死んだ場合は、デコードされた引数構造全体が割り当てられたままになります。

拒否された各ドキュメントは、送信者が選択したサイズのデータを漏洩するため、エラーをキャッチして実行し続けるプロセスはメモリを使い果たします。(CVE-2026-110685)

Perl 4.80 前の Cpanel::JSON::XS バージョンでは、decode_hv でのデコーディング中にフィルターが自身を削除する場合、解放されたフィルターコールバックを使用します。

デコードは、パーサーの filter_json_object と filter_json_single_key_object コールバックを参照せずにコピーします。最後の単一キー フィルターを削除するフィルター コールバックは、進行中のデコードが引き続きコールバック テーブルを使用している間、コールバック テーブルを解放します。次のオブジェクトが解放されたメモリを通してディスパッチされ、プロセスをクラッシュさせる可能性があります。(CVE-2026-110686)

Tenable は、前述の記述ブロックをテスト済み製品のセキュリティアドバイザリから直接抽出しています。

Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。

ソリューション

「dnf update perl-Cpanel-JSON-XS --releasever 2023.12.20261102」または「dnf update --advisory ALAS2023-2026-3352 --releasever 2023.12.20261102」を実行してシステムを更新してください。

参考資料

https://alas.aws.amazon.com//AL2023/ALAS2023-2026-3352.html

https://alas.aws.amazon.com/faqs.html

https://explore.alas.aws.amazon.com/CVE-2026-110672.html

https://explore.alas.aws.amazon.com/CVE-2026-110673.html

https://explore.alas.aws.amazon.com/CVE-2026-110676.html

https://explore.alas.aws.amazon.com/CVE-2026-110678.html

https://explore.alas.aws.amazon.com/CVE-2026-110680.html

https://explore.alas.aws.amazon.com/CVE-2026-110681.html

https://explore.alas.aws.amazon.com/CVE-2026-110684.html

https://explore.alas.aws.amazon.com/CVE-2026-110685.html

https://explore.alas.aws.amazon.com/CVE-2026-110686.html

プラグインの詳細

深刻度: Critical

ID: 374390

ファイル名: al2023_ALAS2023-2026-3352.nasl

バージョン: 1.1

タイプ: Local

エージェント: unix

公開日: 2026/10/30

更新日: 2026/10/30

サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 5.8

パーセンタイル: 95.86

CVSS v2

リスクファクター: High

基本値: 9.4

現状値: 7

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:C/I:N/A:C

CVSS スコアのソース: CVE-2026-110685

CVSS v3

リスクファクター: Critical

基本値: 9.1

現状値: 7.9

ベクトル: 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:amazon:linux:2023, p-cpe:/a:amazon:linux:perl-cpanel-json-xs-debuginfo, p-cpe:/a:amazon:linux:perl-cpanel-json-xs-debugsource, p-cpe:/a:amazon:linux:perl-cpanel-json-xs

必要な KB アイテム: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

エクスプロイトの容易さ: No known exploits are available

パッチ公開日: 2026/10/30

脆弱性公開日: 2026/10/15

参照情報

CVE: CVE-2026-110672, CVE-2026-110673, CVE-2026-110676, CVE-2026-110678, CVE-2026-110680, CVE-2026-110681, CVE-2026-110684, CVE-2026-110685, CVE-2026-110686