2020年12月にEC-CUBE3向けに公開されている「Dosの危険性の修正」について解説します。
対象バージョンは3.0.5〜3.0.18となっています。

この脆弱性は公式サイトでは「リスク低」となっております。

Dos攻撃とは?

ウェブサイト・システムやサービスに大量のリクエストを送り込むことで、正規ユーザーがそのサービスを利用できなくなるように意図的に引き起こされる攻撃です。
結果として、ウェブサイトは過負荷状態に陥り、遅延したり完全に停止したりすることがあります。

本脆弱性の概要

商品をカートに追加する際の、購入金額上限を超えていないかのチェック処理に問題があり、下記の部分が大量のループを発生させサーバーが高負荷やダウン状態になる可能性があります。

max_total_feeが9999999999だったため、その金額に達するまでループさせることが可能でした。

for ($i = 0; $i < $quantity; $i++) {
  $tmp_subtotal += $ProductClass->getPrice02IncTax();
  if ($tmp_subtotal > $this->app['config']['max_total_fee']) {
    $this->setError('cart.over.price_limit');
    break;
  }
  $tmp_quantity++;
}

脆弱性修正の難易度について

コードの修正は指摘部分CartService1ファイルのソースを書き換えれば良いため、難易度は高くありません。

 

ECCUBE制作トップへ

EC-CUBEカスタマイズに関するお問い合わせはこちら

    脆弱性修正