Journal OpenCartテーマ3.1.0におけるSQLエラーによる機密データ漏洩の脆弱性(CVE-2020-15478)- 今すぐアップデートを
人気のJournalテーマを使用しているOpenCartサイトの監査中に、特定のエンドポイントがSQLエラーを通じて機密データを漏洩させる脆弱性(機密情報漏えい)を持つことを確認しました。この問題を修正したJournalバージョン3.1.0は、2020年7月1日にリリースされています。
CVE ID: CVE-2020-15478
概要
25,000以上のウェブサイトで利用されているOpenCartのベストセラーテーマ「Journal」において、機密情報が露出し、SQLインジェクションなどのさらなる攻撃に対して潜在的に脆弱であることが判明しました。
「機密情報漏えい(Sensitive Data Exposure)」はOWASP Top 10に含まれる脆弱性の一種で、アプリケーションが機密データを適切に保護できていない場合に発生します。露出しうる情報には、パスワード、セッショントークン、クレジットカード情報、個人の健康データなどが含まれます。
脆弱性の詳細
脆弱性の技術的な詳細については、テーマユーザーが最新版へ更新するための十分な時間を確保できるよう、当初は7月15日に公開される予定でした。
技術的詳細の追記:
/catalog/controller/journal3/blog.phpでは、「page」パラメータが整数型としてキャストされる仕様になっています。この箇所に文字列が入力されると、SQLエラー、データベースの詳細情報、内部パスなどを含む詳細なエラーメッセージが表示されてしまいます。
こうした情報は、攻撃者が攻撃をより綿密に準備する際の手がかりとなり得ます。該当ファイルでは、$page = (int)Arr::get($this->request->get, 'page', 1);というコードによって$pageが整数型にキャストされていることが確認できます。
タイムライン
2020年6月11日:Journal開発チームへ脆弱性を報告
2020年7月1日:修正を含むバージョン3.1.0をリリース
推奨対策
- テーマを必ず最新バージョンへ更新してください。
- また、/catalog/controller/journal3/blog.php 内の
$page = (int)Arr::get($this->request->get, 'page', 1);という行の後に、以下のコードを追加することでも暫定的な対処が可能です。
if ($page == 0)
{
$page=1;
}
参考資料
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15478
- https://docs.journal-theme.com/changelog
- https://nvd.nist.gov/vuln/detail/CVE-2020-15478
-
WPFormsプラグインに認証済み保存型XSSの脆弱性(CVE-2020-10385)が発見 ― バージョン1.5.9への即時アップデートを
WordPressの人気フォームプラグイン「WPForms」において、バージョン1.5.8.2以前に認証済みユーザーによる保存型XSS(クロスサイトスクリプティング)の脆弱性が存在することが、プラグイン監査の過程で確認されました。データのサニタイズ(無害化処理)を強化したバージョン1.5.9は、2020年3月5日にリリースされています。 CVE ID: CVE-2020-10385 概要 WPFormsは、300万以上のアクティブインストール数を誇るWordPress向けフォーム作成プラグインです。今回、認証済みユーザーによって悪用可能なクロスサイトスクリプティング(XSS)の脆弱性が発見
-
Nagios Log Server 2.1.6に保存型XSSの脆弱性が発見 ― 今すぐアップデートを
人気のログ監視・管理アプリケーション「Nagios Log Server」のバージョン2.1.6(テスト時点での最新版)について検証を行ったところ、保存型XSS(Stored XSS)攻撃に対して脆弱であることが判明しました。 CVE ID: CVE-2020-16157 概要 Nagios Log Serverは、組織がログの閲覧、並べ替え、設定などを一元的に行えるようにする、広く利用されているログ管理・監視・分析ソフトウェアです。今回、バージョン2.1.6において保存型XSSの脆弱性が確認されました。保存型XSS(Cross-Site Scripting)攻撃とは、攻撃者が悪意のあるス