
CVE-2025-49844

世界最速のインメモリストアにおける重大なリモートコード実行
Redis Lua スクリプティングが、認証後の侵入経路として完璧な場所になりました。
認証済み攻撃者 → 細工されたLuaスクリプト → サンドボックスエスケープ → ホスト上での完全なRCE
CVE-2025-49844 ("RediShell") は、Redis の組み込み Lua スクリプティングエンジンにおける 重大な use-after-free (UAF) メモリ破損 の脆弱性です。
認証済み ユーザーが EVAL / EVALSHA を介して特別に細工された Lua スクリプトを送信すると、ガベージコレクタを操作し、パース/実行中に UAF を引き起こし、Lua サンドボックスをエスケープして、基盤となるホスト上で 任意コード実行 を実現します。
このバグは Redis のソースコード内に 約13年間(Lua 統合の初期から)潜んでおり、パッチが適用された2025年10月まで Lua が有効な事実上 すべてのバージョン に影響を与えました。
“たった1回の悪意あるEVAL呼び出し。サーバー完全掌握。2025–2026年のRedisは面白くなってきた。”
2026年3月の現実:
Redis は Lua 5.x をスクリプティング用に組み込んでいます(EVAL、EVALSHA、関数など)。
欠陥は Lua パーサー/GC の相互作用に存在します:
EVAL を介して細工された Lua スクリプトを送信luaY_parser)、TString オブジェクトが割り当てられるが、Lua スタック上で 保護されない重要な致命点: Lua サンドボックスはメモリ破損プリミティブに対して強化されていなかった。
脆弱: 2025年10月のパッチより前の Lua スクリプティングが有効な すべての Redis バージョン
修正版:
2026年の一般的な標的:
回避策(パッチ適用前):
EVAL、EVALSHA、SCRIPT LOAD などを拒否現実的な攻撃フロー(高レベル、公開分析より):
EVAL スクリプトを送信例示的なワンライナーの骨格(完全なエクスプロイトではない – 説明目的):
redis-cli -h <target> -p 6379 -a password
> EVAL "crafted_lua_that_triggers_uaf_and_execs_shell" 0
完全な武器化 PoC は数日以内に GitHub に登場(メモリリーク → ROP → シェル)。
多くは ASLR 回避、NX/DEP 回避、永続化オプションを含む。
redis-cli INFO SERVER | grep redis_version
→ 上記のパッチ済みリリースより古い場合、脆弱
# redis.conf または ACL 内
acl setuser default off ~* &* +@all -EVAL -EVALSHA -SCRIPT
EVAL 使用を監視| 日付 | イベント |
|---|
| ~2012年 | 脆弱な Lua 統合が導入された |
| 2025年5月 | Wiz が発見し、Pwn2Own Berlin でデモ |
| 2025年10月3日 | 公開開示 + Redis セキュリティアドバイザリ |
| 2025年10月3日 | 修正版リリース(6.2.20+、7.x、8.x) |
| 2025年10月6–7日 | Wiz/Sysdig/Redrays のブログ + 初期 PoC |
| 2025年10月以降 | エクスプロイトリポジトリが出現(GitHub、ラボ) |
| 2026年3月 | レガシー/クラウド環境に対する悪用が継続 |