Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-6042-PoC — musl libc 0.8.0-1.2.6 におけるアルゴリズム的複雑性 DoS の概念実証およびエンドツーエンドテスト。CVE-2026-6042 に割り当てられています。 | Kitploit
ツール/GitHubGitHub/jensnesten/cve-2026-6042-poc
脆弱性分析エクスプロイトウェブセキュリティファジング
GitHubjensnesten/cve-2026-6042-poc

CVE-2026-6042-PoC

musl libc 0.8.0-1.2.6 におけるアルゴリズム的複雑性 DoS の概念実証およびエンドツーエンドテスト。CVE-2026-6042 に割り当てられています。

リポジトリを見る
4ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-6042: musl libc iconv におけるアルゴリズム複雑性 DoS

musl の iconv GB18030 4バイトデコーダにおけるギャップスキップループにより、小さな細工済み入力が不釣り合いなCPU時間を消費する可能性があります。40 KBの敵対的ペイロードで、CPUコアを40分以上占有させることができます。

  • アドバイザリ: https://www.openwall.com/lists/oss-security/2026/04/09/19
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-6042

アドバイザリの記載に反して、このエクスプロイトの攻撃ベクトルは明らかにローカルではなくネットワークです。これは、VulDBが割り当てた脆弱性を実際に理解していないことに起因します。

CVSS 3.1 ベクター: AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - 7.5 (高)

概要

フィールド詳細
影響を受けるソフトウェアmusl libc (iconv 実装)
影響を受けるエンコーディングGB18030 (4バイトシーケンス)
タイプアルゴリズム複雑性 / サービス拒否
確認済みバージョンmusl 1.2.5 (Alpine 3.21)、musl 1.2.6 (ソースからビルド)
影響を受ける可能性が高いバージョンGB18030およびUHC/CP949サポートが導入されて以降のすべてのmuslバージョン
攻撃対象これらのエンコーディングで信頼できない入力に対して iconv() を呼び出すmuslベースのすべてのサービス

根本原因

musl の GB18030 4バイトデコーダ (src/locale/iconv.c、およそ434〜442行目) は、4バイトの入力シーケンスを線形インデックスに変換し、そのインデックスをUnicodeコードポイントにマッピングするためにギャップスキップループを走査します。デコードされた各文字について、内側のループは gb18030[126][190] テーブル全体 (23,940エントリ) を反復処理し、スライディングレンジ内に収まる2バイトマッピングされたコードポイントの数を数えます。

バイトシーケンス 82 35 8F 33 は線形インデックス19,171を生成し、これは密集したCJK統合漢字レンジ (U+4E00-U+9FBD、約20,902エントリ) のすぐ下に位置します。ギャップスキップループはその後、密集ブロック全体を1エントリずつ追跡しなければならず、約20,905回の外側の反復を実行し、それぞれが23,940すべてのテーブルエントリをスキャンします。これは入力文字あたり約5億回の比較に相当します。

コストは入力内の敵対的文字数に比例して線形に増加し、各文字が独立して完全な内側ループをトリガーするため、総作業量は O(n * k^2) となります。ここで n は入力文字数、k はルックアップテーブルのサイズです。

影響

ユーザー提供の入力から iconv() を介してGB18030またはEUC-KRをトランスコードするサービスを実行しているmuslベースのシステム (Alpine Linux、Void Linux、postmarketOS、組み込み/コンテナイメージなど) は、サービス拒否に対して脆弱です。

シングルコアでの予測時間 (Alpine 3.21 / musl 1.2.5で測定):

入力時間
敵対的文字1文字 (4バイト)約0.26秒
100文字 (400バイト)約26秒
1,000文字 (4 KB)約4.3分
10,000文字 (40 KB)約43分

比較として、100文字の良性のGB18030文字はマイクロ秒単位でデコードされます。

リポジトリの内容

ファイル説明
poc_gb18030_dos.cスタンドアロンPoC: iconv() を介した良性と敵対的なGB18030デコードの時間を計測
server.cPOSTボディを iconv() でトランスコードする最小限のHTTPサーバー。実際の攻撃対象をシミュレート
Dockerfile脆弱なサーバーをビルドして実行するAlpine Linuxコンテナイメージ
test.shエンドツーエンドのテストスクリプト: 良性と敵対的なペイロードをサーバーに送信し、応答時間を比較

再現方法

1. スタンドアロンPoC (直接 iconv のタイミング)

muslベースの任意のシステムでビルドして実行:

root@kitploit:~
# Alpine Linuxの場合
apk add gcc musl-dev
gcc -O2 -o poc_gb18030_dos poc_gb18030_dos.c
./poc_gb18030_dos

またはDocker経由:

root@kitploit:~
docker run --rm -v "$(pwd)":/work -w /work alpine:latest \
  sh -c "apk add gcc musl-dev && gcc -O2 -o poc_gb18030_dos poc_gb18030_dos.c && ./poc_gb18030_dos"

期待される出力: 良性の文字はマイクロ秒単位でデコードされます。単一の敵対的文字 (82 35 8F 33) は約0.26秒かかります。

2. エンドツーエンド (Docker内のHTTPサーバー)

脆弱なサーバーをビルドして起動:

root@kitploit:~
docker build -t cve-2026-6042 .
docker run --rm -p 8080:8080 cve-2026-6042

別のターミナルでテストハーネスを実行:

root@kitploit:~
./test.sh

またはペイロードを手動で送信:

root@kitploit:~
# 良性: 100文字、即座に返るはず
printf '\x81\x30\x81\x30%.0s' $(seq 1 100) > /tmp/benign.bin
curl -X POST -H "Content-Type: text/plain; charset=gb18030" \
     --data-binary @/tmp/benign.bin http://localhost:8080/

# 敵対的: わずか5文字、1秒以上かかるはず
printf '\x82\x35\x8F\x33%.0s' $(seq 1 5) > /tmp/adversarial.bin
curl -X POST -H "Content-Type: text/plain; charset=gb18030" \
     --data-binary @/tmp/adversarial.bin http://localhost:8080/

X-Transcode-Time 応答ヘッダーは、iconv() 内で費やされた時間を報告します。

エンドツーエンドデモ

以下のスクリーンショットは、Dockerサーバーに対する敵対的入力の線形スケーリングを示しています: 20文字 (80バイト) は約5.2秒、80文字 (320バイト) は約20.8秒、160文字 (640バイト) は約41.5秒かかります。

エンドツーエンドDoSデモ

主要なバイトシーケンス

シーケンス線形インデックス動作
81 30 81 30 (良性)128低いコードポイント。ギャップスキップループはすぐに終了
82 35 8F 33 (敵対的)19,171密集したCJKブロックのすぐ下に位置。約5億回の比較をトリガー
82 35 90 30 (敵対的)約19,200同じ領域、同様のコスト

免責事項

このリポジトリは、セキュリティ研究および責任ある開示の目的で公開されています。コードはCVE-2026-6042を再現および検証するためだけに提供されています。所有していないシステム、またはテストする明示的な許可を得ていないシステムに対して使用しないでください。

ツールをダウンロード