【ITニュース解説】Multiple Vulnerabilities in Thelia 2.6.0 and 2.6.1 Leading to RCE via Upload, Smarty, and Translation Editing
2026年10月14日に「Dev.to」が公開したITニュース「Multiple Vulnerabilities in Thelia 2.6.0 and 2.6.1 Leading to RCE via Upload, Smarty, and Translation Editing」について初心者にもわかりやすく解説しています。
ITニュース概要
ECサイト構築ツールThelia 2.6.0/2.6.1に、外部からシステムを乗っ取られる危険な脆弱性が複数見つかった。管理者権限を悪用し、ファイルのアップロードやテンプレート編集機能を通じて、Webサーバー上でプログラムを勝手に実行される可能性がある。修正パッチは未提供のため、管理画面の厳重なアクセス制限が不可欠だ。
ITニュース解説
今回のニュースは、ECサイト構築ソフトウェア「Thelia」のバージョン2.6.0と2.6.1に、複数の深刻な脆弱性が見つかったことを報じている。中でも最も重大な問題は、「リモートコード実行(RCE)」と呼ばれるもので、これは攻撃者がインターネット経由で、対象のウェブサーバー上で任意のプログラムを勝手に実行できてしまう状態を指す。RCEが成功すると、攻撃者はサーバーを完全に制御下に置き、システムに甚大な被害を与えることが可能になる。
Theliaは、オンラインストアを簡単に構築できる人気の高いソフトウェアであり、多くの企業や個人がそのシステムを使って事業を運営している。そのため、ここに重大な脆弱性があるということは、世界中のオンラインストアが潜在的な危険にさらされていることを意味する。
特定されたRCEにつながる攻撃経路は複数存在する。第一に、「ファイルアップロードの脆弱性」だ。Theliaの管理画面には、ウェブサイトに表示するドキュメントやバナー画像をアップロードする機能がある。しかし、この機能が不適切に設計されていたため、攻撃者は本来画像であるべき場所に、サーバー上で実行可能な悪意のあるPHPファイル(ウェブサーバーでプログラムを動かすためのファイル)をアップロードできてしまう。そして、このアップロードされたPHPファイルを実行させることで、サーバーを意のままに操ることが可能となる。同様に、Theliaの機能を拡張するための「モジュール」をインストールする際にも、悪意のあるPHPコードを含むZIPファイルをアップロードし、インストール時にそのコードを実行させることも可能だと報告されている。
第二に、「Smartyテンプレートエンジンの脆弱性」だ。Theliaは「Smarty」というツールを使って、ウェブサイトのデザインや、顧客へ送るメールのひな形(テンプレート)を生成している。管理者権限を持つ攻撃者は、このSmartyテンプレートの編集機能を使って、サーバーのコマンドを実行できるような悪意のあるコード(例えば、system()関数やexec()関数など)をテンプレート内に埋め込むことができる。そして、そのテンプレートがウェブページに表示されたり、メールとしてレンダリングされたりする際に、埋め込まれた悪意あるコードがサーバー上で実行されてしまう。これは「Smarty Server-Side Template Injection (SSTI)」と呼ばれる手法であり、特定の条件下では、本来アクセスが制限されているはずのサーバー上の任意のファイルをテンプレートとして読み込ませ、その内容をプログラムとして実行させることも可能となる。
第三に、「翻訳エディタの脆弱性」だ。Theliaの管理画面には、多言語対応のためにウェブサイトの文言を翻訳・編集する機能がある。この機能には「パス・トラバーサル」と「PHPインジェクション」という二つの脆弱性が組み合わさって悪用される可能性がある。パス・トラバーサルは、本来アクセスできないはずのサーバー上の別のディレクトリ(フォルダ)に移動できてしまう脆弱性だ。攻撃者はこのパス・トラバーサルを利用して、ウェブからアクセス可能な場所に、悪意のあるPHPコードを挿入(PHPインジェクション)したファイルを生成させることができる。そして、そのファイルにウェブ経由でアクセスすることで、サーバー上でPHPコードが実行されてしまうのだ。
これらのRCEにつながる攻撃経路のほとんどは、攻撃者がTheliaの管理者権限、またはそれに近い限定的な管理者権限を持っていることが前提となる。しかし、フィッシング攻撃やパスワードの使い回し、あるいは他の管理画面における脆弱性(例:クロスサイトスクリーニングなど)によって管理者アカウントが乗っ取られた場合、これらのRCEの脅威は現実のものとなる。
もしRCEが成功してしまうと、攻撃者はウェブサーバー上のすべてのデータにアクセスできるようになる。これには、オンラインストアの注文履歴、顧客の個人情報(氏名、住所、電話番号、メールアドレス)、さらにはクレジットカード関連データなどの機密情報が含まれる可能性があり、これらが窃取される恐れがある。また、ウェブサイトが改ざんされてフィッシングサイトに誘導されたり、マルウェアの配布元として悪用されたりする危険性も伴う。このような事態は、企業にとっては信用失墜や多額の損害賠償といった壊滅的な影響を及ぼすこととなる。
残念ながら、このニュースが公開された時点では、Theliaの公式な修正パッチは提供されていない。そのため、Thelia 2.6.0または2.6.1を使用している組織や管理者には、早急な対策が求められる。具体的な対策としては、まずTheliaの管理画面をインターネットから隔離することが重要だ。VPN(仮想プライベートネットワーク)や特定のIPアドレスからのアクセスのみを許可する設定にしたり、多要素認証(MFA)を導入したりして、不正アクセスを防ぐ必要がある。次に、ファイルアップロード、モジュールインストール、テンプレート編集、翻訳編集など、コード実行のリスクを伴う管理機能は、可能な限り制限するか、使用しない場合は無効にすることが推奨される。また、ユーザーがファイルをアップロードできるディレクトリでは、PHPスクリプトが実行されないようにウェブサーバーを設定し、アップロードされるファイルの形式(MIMEタイプ)、拡張子、内容をサーバー側で厳しく検証する仕組みを導入することも不可欠だ。さらに、不審なログイン試行、ウェブサーバー上でのPHPファイルの不審な変更、またはウェブサーバーが通常とは異なるプロセスを起動していないかなどを継続的に監視する体制を整える必要がある。そして何よりも、ベンダーから修正パッチが提供され次第、速やかに適用することが根本的な解決策となるだろう。
システムエンジニアを目指す皆さんにとって、このニュースはソフトウェアのセキュリティがいかに重要であるかを深く理解する良い機会となる。単に機能を実現するだけでなく、潜在的な攻撃経路を考慮に入れ、安全なコードの書き方や適切なセキュリティ対策を設計・実装・運用することの重要性を痛感するはずだ。脆弱性はどのソフトウェアにも存在しうるものであり、それを早期に発見し、適切に対処するための知識と、常に最新の脅威に目を向ける意識が、これからのシステムエンジニアには強く求められる。