
Redis CVE-2026-23479 (認証済み use-after-free → RCE) 向けの安全な読み取り専用バージョンチェッカー + Sigma ルール。露出したインスタンスを発見し、被害発生前 (left-of-boom) にパッチを適用します。作者: DugganUSA
Redis の blocking-client コードにおける use-after-free を検出するための、安全で読み取り専用のバージョンチェッカーです。認証済みユーザーがホスト上でリモートコード実行(RCE)に到達できるようにする脆弱性 CVE-2026-23479 を対象としています。
このツールは脆弱性を悪用しません。 接続し、必要に応じて認証を行い、読み取り専用の
INFO serverを1回実行してバージョンを解析し、修正済みリリースのリストと比較するだけです。ブロッキングコマンドを送信することはなく、脆弱なコードパスに触れることもありません。自分が所有しているか、明示的にテストを許可されたインスタンスに対してのみ使用してください。
「Authenticated」という言葉は安心に聞こえますが、Redis が実際にどう出荷されているかを思い出せば話は別です。長年にわたりデフォルトはパスワードなしで、今でも内部では誰もファイアウォールを設定しない信頼されたキャッシュ/キュー/セッション基盤です。フラットなネットワーク上で、すべてのアプリサーバーがすでに到達できるコンポーネントへの認証済み RCE は、ラテラルムーブメントの高速道路です。さらに、本稿執筆時点では公開 PoC はありません。つまり、あなたは left of the boom(攻撃が炸裂する前)にいるということです。これはディフェンダーが立つことのできる最もコストのかからない場所です。活用しましょう。露出したインスタンスを見つけ、エクスプロイトが公開される前にパッチを適用してください。
6.2.22、7.2.14、7.4.9、8.2.6、8.4.3、8.6.3。依存関係は不要です。Python 3 だけで動作します。
python3 check.py <host> [-p PORT] [-a PASSWORD] [--user ACL_USER] [--tls] [--insecure]
使用例:
python3 check.py 127.0.0.1
python3 check.py redis.internal -p 6380 -a "$REDIS_PASSWORD"
python3 check.py redis.example.com --tls # cert verified by default
python3 check.py redis.internal --tls --insecure # self-signed internal cert (opt-in)
終了コードは、パッチ適用済み/影響なしの場合は 0、対応が必要な場合(脆弱/要確認)は 1 です。そのため、CI にそのまま組み込めます:
python3 check.py "$REDIS_HOST" -a "$REDIS_PASSWORD" || echo "::warning::Redis needs the CVE-2026-23479 patch"
detection/redis-cve-2026-23479.sigma.yml を参照してください。これはホストベースの Sigma ルールで、あらゆる Redis RCE の結果(redis-server プロセスがシェルや予期しない子プロセスを生成するなど)を検出します。正確なエクスプロイトパケットのフィンガープリントを試みるよりもはるかに堅牢です。
Powered by DugganUSA 脅威インテリジェンス — 1M+ IOCs、STIX 2.1 フィード、無料ティア。 analytics.dugganusa.com · 私たちは剣ではなく盾を届けます。