[KVE-2026-1639] 쇼핑몰 주문정보 접근권한 우회 취약점 수정
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> (cherry picked from commit d3e8ffc3d6a0af4e2abe9b798316ae1c504e7d37)
This commit is contained in:
+4
-3
@@ -30,7 +30,7 @@ function get_shop_uid($type, $id, $time, $ip)
|
||||
* 현금영수증 발급 또는 조회에 대한 검증
|
||||
*
|
||||
* 다음 셋 중 하나여야 접근 허용:
|
||||
* 1. 관리자
|
||||
* 1. 최고관리자 (게시판/그룹 관리자 권한은 제외)
|
||||
* 2. 본인 주문/개인결제 (로그인 회원이고 mb_id 일치)
|
||||
* 3. 비회원이지만 정당한 세션 uid 보유 (orderinquiry.php에서 비밀번호 검증 통과 후
|
||||
* 또는 주문 완료 직후 세션에 저장된 ss_orderview_uid / ss_personalpay_uid가
|
||||
@@ -48,8 +48,9 @@ function is_shop_order_owner($od, $type = 'order')
|
||||
return false;
|
||||
}
|
||||
|
||||
// 관리자
|
||||
if ($is_admin) {
|
||||
// 최고관리자만 전체 주문/개인결제 접근 허용
|
||||
// (요청 bo_table 로 좌우되는 게시판/그룹 관리자 문맥은 인정하지 않음)
|
||||
if ($is_admin === 'super') {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,8 @@ if (!$is_member) {
|
||||
$tot_point = 0;
|
||||
|
||||
$sql = "select * from {$g5['g5_shop_order_table']} where od_id = '$od_id' ";
|
||||
if($is_member && !$is_admin)
|
||||
// 최고관리자가 아니면 로그인 회원 본인 주문만 조회 (게시판/그룹 관리자 문맥으로 우회 불가)
|
||||
if($is_member && $is_admin !== 'super')
|
||||
$sql .= " and mb_id = '{$member['mb_id']}' ";
|
||||
$od = sql_fetch($sql);
|
||||
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ if($tx == 'personalpay') {
|
||||
alert('해당 주문 정보에 접근 권한이 없습니다.', G5_SHOP_URL);
|
||||
}
|
||||
|
||||
if ( ! $is_admin && ! (shop_is_taxsave($od)) ){
|
||||
if ( $is_admin !== 'super' && ! (shop_is_taxsave($od)) ){
|
||||
die('해당 주문은 현금영수증을 발급할수 없습니다.');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user