概要
リモートの Amazon Linux 2023 ホストに、セキュリティ更新プログラムがありません。
説明
したがって、ALAS2023-2026-1815 のアドバイザリに記載されている複数の脆弱性の影響を受けます。
jq は、コマンドラインの JSON プロセッサです。整数オーバーフローの脆弱性がバージョン 1.8.1 を通じて、jvp_string_append()関数とjvp_string_copy_replace_bad関数内に存在します。合計長が2^31バイトを超える文字列を連結すると、バッファ割り当てサイズの計算で32ビットの符号なし整数オーバーフローが発生し、その結果、ヒープバッファのサイズが大幅に小さくなります。その後のメモリコピー操作では、完全な文字列データがこのサイズの小さいバッファに書き込まれ、CWE-190(整数オーバーフロー)に分類されるヒープバッファオーバーフローが発生し、CWE-122(ヒープベースのバッファオーバーフロー)につながる可能性があります。攻撃者が、極端に大きな文字列を生成するクエリを作成することで、プロセスをクラッシュさせたり、ヒープ破損を通じてさらなる悪用を発生させたりできるため、信頼できない jq クエリを評価するシステムが影響を受けます。根本的な原因は、すでにサイズ制限がある配列やオブジェクトとは異なり、文字列サイズの境界チェックがないことです。この問題は、コミットe47e56d226519635768e6aab2f38f0ab037c09e5で対処されています。(CVE-2026-32316)
jq は、コマンドラインの JSON プロセッサです。バージョン 1.8.1 以前では、jq の src/jv_aux.c にある関数 jv_setpath()、jv_getpath()、delpaths_sorted() が無限再帰を使用します。その深度は呼び出し元が指定したパス配列の長さによって制御され、深さ制限は適用されません。攻撃者は、~65,000 個の整数(~200 KB)のフラット配列を含む JSON ドキュメントを用意できます。信頼できる jq フィルターがこれをパス引数として使用すると、C コールスタックが使い果たされ、セグメンテーション違反(SIGSEGV)でプロセスがクラッシュします。このバイパスが機能するのは、既存のMAX_PARSING_DEPTH(10,000)制限が JSON パーサーのみを保護し、プログラムで配列を任意の長さに構築できるランタイムパス操作は保護しないためです。影響は、jqのsetpath、getpath、delpathsビルトインを通じて信頼できないJSON入力を処理するアプリケーションまたはサービスに影響を与えるサービス拒否(回復不能なクラッシュ)です。この問題は、コミットfb59f1491058d58bdc3e8dd28f1773d1ac690a1fで対処されています。(CVE-2026-33947)
jq は、コマンドラインの JSON プロセッサです。6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b より前のコミットには、CLI 入力解析において、埋め込まれた NULL バイトによる検証バイパスが可能になる脆弱性があります。ファイルまたは stdin から JSON を読み取るとき、jq は fgets() からの実際のバイトカウントの代わりに、strlen() を使用してバッファの長さを決定します。これにより、最初の NULL バイトの入力が切り捨てられ、先行するプレフィックスのみが解析されます。これにより、攻撃者が、NUL バイトの前に無害な JSON プレフィックスを付けて、その後に悪意のある末尾データを付けて入力を細工することが可能になります。この場合、jq は接尾辞を密かに破棄しながら、プレフィックスだけを有効な JSON として検証します。
信頼できないJSONを下流のコンシューマーに転送する前に検証するのにjqに依存するワークフローは、パーサー差分攻撃の影響を受けやすくなります。これらのコンシューマーは、悪意のある末尾のバイトを含む完全な入力を処理する可能性があるためです。この問題は、コミット 6374ae0bcdfe33a18eb0ae6db28493b1f34a0a5b によりパッチ修正されています。
(CVE-2026-33948)
jq は、コマンドラインの JSON プロセッサです。69785bf77f86e2ea1b4a20ca86775916889e91c9 後のコミットでは、
jq の src/builtin.c 内の_strindicesビルトインは、引数が文字列であることを検証せずに jv_string_indexes() に直接渡します。また、src/jv.c の jv_string_indexes() は、-DNDEBUG でコンパイルされたリリースビルドで省略された assert() チェックにのみ依存しています。これにより、攻撃者は _strindices(0) のような入力で jq を簡単にクラッシュさせ、IEEE-754 ビットパターンが選択されたポインターにマッピングされる数値を細工することで、制御されたポインターデリファレンスと制限されたメモリ読み取り/プローブプリミティブを実現します。信頼できない jq フィルターをリリースビルドに照らして評価するデプロイメントは、すべて脆弱です。この問題は、コミット fdf8ef0f0810e3d365cdd5160de43db46f57ed03 でパッチが適用されています。(CVE-2026-39956)
jq は、コマンドラインの JSON プロセッサです。2f09060afab23fe9390cce7cb860b10416e1bf5f より前のコミットでは、libjq の jv_parse_sized() API は、明示的な長さパラメーターを持つカウントされたバッファを受け入れますが、そのエラー処理パスは、jv_string_fmt() の %s を使用して入力バッファをフォーマットします。これは、呼び出し元指定の長さを尊重するのではなく、NULL 終端が見つかるまで読み取ります。これは、無効な形式の JSON が NUL 終端されていないバッファで受け渡されると、エラー構築ロジックがバッファの終端を超えて領域外読み取りを実行することを意味します。信頼できない入力により jv_parse_sized() を呼び出す任意の libjq コンシューマーが脆弱性へアクセスでき、メモリレイアウトによっては、メモリ漏洩またはプロセス停止が発生する可能性があります。この問題は、コミット 2f09060afab23fe9390cce7cb860b10416e1bf5f でパッチが適用されています。(CVE-2026-39979)
jq は、コマンドラインの JSON プロセッサです。0c7d133c3c7e37c00b6d46b658a02244fdd3c784 をコミットする前に、jq はすべての JSON オブジェクトのハッシュテーブル操作にハードコードされた公開シード(0x432A9843)付きの MurmurHash3 を使用していました。これにより、攻撃者は、鍵衝突をオフラインで事前に計算することができました。すべてのキーが同じバケットにハッシュされる、細工された JSON オブジェクト(~100 KB)を提供することで、ハッシュテーブル検索が O(1) から O(n) にデグレードし、任意の jq 式を O(n2) 操作に変えて、著しい CPU 消耗を引き起こします。これは、CI/CDパイプライン、Webサービス、データ処理スクリプトなどの一般的なjqユースケースに影響を及ぼし、必要なペイロードが少ないため、既存のヒープオーバーフローの問題よりもはるかに実用的でした。この問題はコミット0c7d133c3c7e37c00b6d46b658a02244fdd3c784で修正されています。(CVE-2026-40164)
jq は、コマンドラインの JSON プロセッサです。1.8.1 以前では、decNumberFromString に INT_MAX-1 (2147483646) 桁の数値リテラルが与えられると、符号付き整数演算中に D2U() マクロがオーバーフローします。ラップされた負の値は、ヒープ割り当てサイズチェックをバイパスし、関数に 30 バイトのスタックバッファを使用させてから、 [?]7億1,500万台の16ビットユニット([?]1.4 GiB)をスタックフレームより下 1.43 GiBのオフセットで設定します。書き込まれたコンテンツは完全に攻撃者がコントロールします(解析された10進数、ユニットごとに3つパック)。
(CVE-2026-43894)
jq は、コマンドラインの JSON プロセッサです。1.8.1 以前では、jv_object_merge_recursive() の無限再帰により、細工された jq プログラムがセグメンテーション違反でプロセスをクラッシュさせることが可能です。この関数は、両方のオペランドがオブジェクトである場合、*演算子を使用して到達できます。(CVE-2026-43896)
Tenable は、前述の記述ブロックをテスト済み製品のセキュリティアドバイザリから直接抽出しています。
Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。
ソリューション
「dnf update jq --releasever 2023.12.20260608」または「dnf update --advisory ALAS2023-2026-1815 --releasever 2023.12.20260608」を実行して、お使いのシステムを更新してください。
プラグインの詳細
ファイル名: al2023_ALAS2023-2026-1815.nasl
エージェント: unix
サポートされているセンサー: Agentless Assessment, Continuous Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:P
ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L
現状ベクトル: CVSS:3.0/E:P/RL:O/RC:C
Threat Vector: CVSS:4.0/E:P
Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N
脆弱性情報
CPE: p-cpe:/a:amazon:linux:jq, p-cpe:/a:amazon:linux:jq-devel, p-cpe:/a:amazon:linux:jq-debugsource, p-cpe:/a:amazon:linux:jq-debuginfo, cpe:/o:amazon:linux:2023
必要な KB アイテム: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
エクスプロイトの容易さ: Exploits are available