🔥 この記事の詳細
2026-05-30 更新
C
月内に

若依(RuoYi)フレームワークにおけるThymeleafテンプレート注入(SSTI)脆弱性を利用した攻撃事例の解説です

脆弱性🌐 英語ソース
📅 2026-05-30📰 freebuf
📌 一言でいうと
若依(RuoYi)フレームワークにおけるThymeleafテンプレート注入(SSTI)脆弱性を利用した攻撃事例の解説です。攻撃者は弱口令(デフォルトパスワード等)で管理画面に侵入した後、テンプレート注入を通じてリモートコード実行(RCE)を行い、最終的にGetShell(サーバー制御権の奪取)に至りました。特にController層でユーザー入力がURLパスや戻り値に直接反映される実装が危険であると指摘しています。
🔍該当判定
  • 「若依 (RuoYi)」という名称の管理システムを自社で導入・利用している
  • Javaのフレームワーク「Spring Boot」およびテンプレートエンジン「Thymeleaf」を使用した自社開発システムを運用している
  • 社内システムにおいて、URLの一部(パス変数)や入力フォームの内容が、そのまま画面表示(View)の制御に使用される実装がある
上記いずれにも該当しない → 静観でOK
該当時の対応
1. 管理画面のデフォルトパスワードを直ちに変更し、強力なパスワードを設定すること。2. Thymeleafテンプレート内でユーザー入力を直接レンダリングせず、@ResponseBody または @RestController アノテーションを使用してビュー解析を回避すること。3. 最新のフレームワークバージョンへのアップデートを検討すること。
📧 メール案を見る (管理者向け)
⚠️ これは AI が生成した参考例です。配信前に必ず内容をご確認のうえ、貴社の状況に合わせて編集してご利用ください。実際の被害状況や自社の利用環境を踏まえた判断は、貴社のセキュリティ責任者にご確認ください。
件名: 【共有】若依 (RuoYi) フレームワークのSSTI脆弱性とGetShell事例について

お疲れさまです。若依 (RuoYi) フレームワークにおける脆弱性を利用した攻撃事例に関する情報共有です。

■ 概要
Thymeleafテンプレートエンジンにおけるサーバー側テンプレート注入 (SSTI) を利用し、リモートコード実行 (RCE) を通じてサーバーの制御権を奪取される事例が報告されています。攻撃の起点として、管理画面の弱口令(デフォルトパスワード等)が利用されています。

■ 影響範囲
- 若依 (RuoYi) フレームワークを利用したアプリケーション
- 特にController層でユーザー入力が戻り値やURLパスに直接反映される実装箇所

■ 対応手順
1. 管理者アカウントのパスワードがデフォルトのままでないか確認し、変更してください。
2. 実装において、ユーザー入力値を直接テンプレートに返す箇所がないか監査してください。
3. テンプレート解析を避けるため、APIレスポンスには @ResponseBody または @RestController を使用してください。

■ 参考情報
- FreeBuf: 记一次攻防演练中的若依getshell

対応優先度: 高
対応期限: 速やかに確認
Subject: [Security Advisory] SSTI Vulnerability and GetShell Incident in RuoYi Framework

Dear IT Administration Team,

We are sharing information regarding a security incident involving the RuoYi framework.

■ Overview
An attacker successfully achieved Remote Code Execution (RCE) and obtained a shell by exploiting a Server-Side Template Injection (SSTI) vulnerability in the Thymeleaf template engine. The initial entry point was identified as weak administrative credentials.

■ Scope
- Applications built using the RuoYi framework.
- Specifically, Controller implementations where user input is directly reflected in return values or URL paths.

■ Mitigation Steps
1. Verify and change all default administrative passwords to strong, unique passwords.
2. Audit the codebase for instances where user-supplied input is directly returned to the template engine.
3. Ensure that @ResponseBody or @RestController annotations are used for API responses to bypass view resolution.

■ Reference
- FreeBuf: 记一次攻防演练中的若依getshell

Priority: High
Deadline: Immediate review required