security: KVE-2026-2345 장바구니 옵션 검증으로 상품대금 누락 차단

공통·기본 테마 AJAX와 일반 장바구니 요청에 동일한 상품·옵션 검증을 적용한다. 주문 준비 및 PC·모바일 주문 제출에서도 기존 행의 종류·가격·구성을 확인한다.

공통 규칙 46개와 격리 MySQL의 MyISAM·InnoDB HTTP/DB 검증 126개를 통과했다. 주문 검증은 PG·주문 저장 이전 경계까지이며 전체 결제 및 동시성 검증은 별도로 필요하다.
This commit is contained in:
whitedot
2026-09-10 05:17:59 +00:00
parent 77e0cda39b
commit 6d4e75e1c9
11 changed files with 507 additions and 98 deletions
+2 -1
View File
@@ -1,4 +1,5 @@
<?php
include_once(dirname(__FILE__).'/shop.cartvalidate.lib.php');
//==============================================================================
// 쇼핑몰 라이브러리 모음 시작
//==============================================================================
@@ -2694,7 +2695,7 @@ function before_check_cart_price($s_cart_id, $is_ct_select_condition=false, $is_
}
if( $row['io_id'] ){
$io_sql = " select * from {$g5['g5_shop_item_option_table']} where it_id = '{$it['it_id']}' and io_id = '{$row['io_id']}' ";
$io_sql = " select * from {$g5['g5_shop_item_option_table']} where it_id = '{$it['it_id']}' and io_id = '{$row['io_id']}' and io_type = '{$row['io_type']}' and io_use = '1' ";
$io_infos = sql_fetch( $io_sql );
if( $io_infos['io_type'] ){