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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-35196 — 第2のCVEは依然としてリモートコード実行 | Kitploit
ツール/GitHubGitHub/kx00007/cve-2026-35196
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育
GitHubkx00007/cve-2026-35196

CVE-2026-35196

第2のCVEは依然としてリモートコード実行

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-35196 · Chamilo LMS · OSコマンドインジェクション → RCE


CVE CVSS CWE Auth Type Shell



研究者: K
開示タイプ: 責任ある開示
ステータス: 修正済み 影響を受ける製品: Chamilo LMS < 2.0 ( v1.11.32 で確認)


📋 脆弱性概要


🔍 説明

Chamilo LMS v1.11.32 の main/inc/ajax/gradebook.ajax.php における export_all_certificates アクションに、重大な OSコマンドインジェクション の脆弱性が存在します。

アプリケーションは api_get_course_id() を介してコースコードを取得し、これは $_SESSION['_cid'] から直接読み取られます。このセッション由来の値は、無害化されずに shell_exec() 呼び出しに連結されます — escapeshellarg() もホワイトリスト検証も型チェックもありません。

攻撃者は、セッションの _cid 変数を操作または汚染できる場合(セッションポイズニング、IDOR連鎖、またはその他のセッション操作プリミティブを介して)、任意のシェルメタ文字を注入し、Webサーバーユーザー(www-data)として完全なリモートコード実行を達成できます。


🧩 根本原因分析

脆弱なファイル: main/inc/ajax/gradebook.ajax.php
脆弱な関数: export_all_certificates

ユーザーが export_all_certificates アクションをトリガーすると、スクリプトは証明書を処理するためのバックグラウンドプロセスを実行しようとします:

root@kitploit:~
$courseCode = api_get_course_id(); // Retrieves the value from $_SESSION['_cid']
$sessionId = api_get_session_id();
// ...
$commandScript = api_get_path(SYS_CODE_PATH).'gradebook/cli/export_all_certificates.php';
$userList = implode(',', $userList);

// Flaw: Variables like $courseCode are passed directly to the shell without escapeshellarg()
shell_exec("php $commandScript $courseCode $sessionId $categoryId $userList > /dev/null &");

アプリケーションが暗黙的にセッション変数の内容を信頼し、システムシェルに送信する前に適切にエスケープできないため、操作されたセッションを持つ攻撃者は悪意のあるコマンドを追記して実行できます。例えば、_cid に "; touch /tmp/remote_code_by_k; #" が含まれている場合、bash/shシェルによって解釈されるコマンドは次のようになります:

root@kitploit:~
php /var/www/chamilo/main/gradebook/cli/export_all_certificates.php ; touch /tmp/remote_code_by_k; # ... > /dev/null &

シェルはCLIスクリプトを実行し、その後に注入されたペイロードを実行し、本来のコマンド文字列の残りを無視します。

💣 概念実証

  1. セッションポイズニング: 攻撃者はまず $_SESSION['_cid'] 変数に影響を与える必要があります。これは、この欠陥をセッションポイズニング脆弱性と連鎖させるか、アプリケーションの他の場所でのIDORや安全でないパラメータ処理を介してコースコードの値を操作し、セッションコンテキストを更新することで達成できます。
  2. ペイロード注入: _cid セッション変数を次のように設定します: "; [MALICIOUS_COMMAND]; #"
  3. 実行: 汚染されたセッションクッキーを使用して、GET リクエストを /main/inc/ajax/gradebook.ajax.php?a=export_all_certificates&cat_id=1 に送信します。
  4. 結果: サーバーは、Webアプリケーションユーザー(www-data)の権限で注入されたコマンドを盲目的に実行します。

📊 影響分析


🛡️ 推奨事項

  • escapeshellarg() の適用: shell_exec() に渡す前に、すべてのユーザー由来の変数($courseCode、$sessionId、$userList など)をPHPの escapeshellarg() でラップして、任意のOSメタ文字を無害化してください。
  • 厳格なセッション検証: セッション状態に保存される変数(例:$_SESSION['_cid'])が厳密に型指定され、サニタイズされるようにして、潜在的な「セッションポイズニング」やIDOR連鎖攻撃がエントリポイントでブロックされるようにしてください。
  • 最小権限の適用: Webサーバーサービス(www-data)に制限的なファイルシステム書き込み権限を設定し、アプリケーションのアクセスを必須のLinuxシェルバイナリに制限して、事後の悪用可能性を軽減してください。

🧪 環境

📎 参照

  • Chamilo LMS 公式リポジトリ
  • CWE-78: OSコマンドインジェクション
  • OWASP: コマンドインジェクション
  • CVE-2026-29041 — 同一研究者による過去のChamilo RCE(CWE-434、CVSS 8.8)

👤 研究者

root@kitploit:~
Handle  : K
GitHub  : https://github.com/kx00007
Focus   : Server-Side Vulnerability RCE, CVE Hunting, Vulnerability Research, Exploit Development
Prior   : CVE-2026-29041 (Chamilo LMS — Authenticated RCE via File Upload)

⚡もっと頑張れ。

ツールをダウンロード
フィールド詳細
製品Chamilo LMS
影響を受けるバージョン< 2.0 (v1.11.32 で確認)
脆弱性OSコマンドインジェクション
CWECWE-78 — OSコマンドに使用される特殊要素の不適切な無害化
CVSSv3.1 スコア8.8 (HIGH)
ベクトルCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
認証必須はい(セッションが汚染された認証ユーザー)
エクスプロイトタイプ認証されたリモートコード実行
脆弱なファイルmain/inc/ajax/gradebook.ajax.php
次元
影響
機密性完全な読み取りアクセス — ソースコード、設定、DB認証情報、/etc/passwd
完全性任意のファイル書き込み、ウェブシェルの展開、データベース操作
可用性サービスの中断、ファイルシステムの破壊、ランサムウェアの展開
範囲Webサーバープロセス(www-data); 認証情報の露出による横方向移動の可能性
コンポーネント詳細
OSUbuntu Server (Docker)
ウェブサーバーApache / Nginx
PHP7.x / 8.x
アプリケーションChamilo LMS v1.11.32-v2.0
シェル/bin/sh → bash