[KVE-2026-1639] 쇼핑몰 주문정보 접근권한 우회 취약점 수정

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
(cherry picked from commit d3e8ffc3d6a0af4e2abe9b798316ae1c504e7d37)
This commit is contained in:
thisgun
2026-08-24 07:44:21 +00:00
parent 43f626885e
commit 11a26c82af
3 changed files with 7 additions and 5 deletions
+4 -3
View File
@@ -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;
}
+2 -1
View File
@@ -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
View File
@@ -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('해당 주문은 현금영수증을 발급할수 없습니다.');
}