Ticket #1502 (closed バグ指摘: 修正済)
SQLインジェクション
Reported by: | kajiwara | Owned by: | somebody |
---|---|---|---|
Priority: | 高 | Milestone: | EC-CUBE2.11.3 |
Component: | その他 | Version: | 2.11.0 |
Keywords: | Cc: | ||
修正済み: | yes |
Description
2.11系にて特定条件時のみ発生するSQLインジェクションが発見されました。
2.11.3にて修正します。
脆弱性発生バージョン:
・Ver2.11.0~2.11.2
脆弱性の種類:
・SQLインジェクション(ただし、発生条件が特殊)
修正方法: data/class/SC_Query.php の以下のコードを変更(削除)します。
462行目付近、502行目付近のソースコードをそれぞれ2行削除 (以下ソース頭部に「-」が付いている2行のソースを削除)
◆462行目付近
$strval .= 'Now(),'; } else if(strcasecmp('CURRENT_TIMESTAMP', $val) === 0) { $strval .= 'CURRENT_TIMESTAMP,'; - } else if(strpos($val, '~') === 0) { - $strval .= preg_replace("/^~/", "", $val); } else { $strval .= '?,'; $arrval[] = $val;◆502行目付近
$arrCol[] = $key . '= Now()'; } else if(strcasecmp('CURRENT_TIMESTAMP', $val) === 0) { $arrCol[] = $key . '= CURRENT_TIMESTAMP'; - } else if(strpos('~', $val) === 0) { - $arrCol[] = $key . '= ' . $val; } else { $arrCol[] = $key . '= ?'; $arrVal[] = $val;
上記if分の分岐部分に関して、正式版で使用している部分がないので、単純に削除する対応で問題なし。
Attachments
Change History
comment:1 Changed 9 years ago by kajiwara
- Status changed from new to closed
- 修正済み set
- Resolution set to 修正済
Changed 9 years ago by kajiwara
-
attachment
JVN_44496332_02.patch
added
Ver2.11.2からの修正パッチを添付いたします。 ご活用ください。
Note: See
TracTickets for help on using
tickets.
r21278 にて対応しました。