diff --git a/shop/kcp/pp_ax_hub_lib.php b/shop/kcp/pp_ax_hub_lib.php index d21c5d210..4e3ff17f2 100644 --- a/shop/kcp/pp_ax_hub_lib.php +++ b/shop/kcp/pp_ax_hub_lib.php @@ -168,9 +168,10 @@ { if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { - $bin_exe = $home_dir.'/bin/pp_cli_exe '; + // 실행 파일 경로와 인자를 분리하여 mf_exec 호출 → escapeshellarg 자동 적용 (KVE-2026-0859) + $bin_exe = $home_dir.'/bin/pp_cli_exe'; - $res_data = $this->mf_exec($bin_exe . "\"". + $res_data = $this->mf_exec($bin_exe, "site_cd=" . $site_cd . "," . "site_key=" . $site_key . "," . "tx_cd=" . $tx_cd . "," . @@ -188,8 +189,7 @@ $ordr_data . $rcvr_data . $escw_data . - $modx_data . - "\"") ; + $modx_data) ; } else { diff --git a/shop/kcp/pp_cli_hub_lib.php b/shop/kcp/pp_cli_hub_lib.php index 105a6f27e..06b5322c7 100644 --- a/shop/kcp/pp_cli_hub_lib.php +++ b/shop/kcp/pp_cli_hub_lib.php @@ -161,9 +161,10 @@ class C_PAYPLUS_CLI_T { if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { - $bin_exe = $home_dir.'/bin/pp_cli_exe '; + // 실행 파일 경로와 인자를 분리하여 mf_exec 호출 → escapeshellarg 자동 적용 (KVE-2026-0859) + $bin_exe = $home_dir.'/bin/pp_cli_exe'; - $res_data = $this->mf_exec($bin_exe . "\"". + $res_data = $this->mf_exec($bin_exe, "site_cd=" . $site_cd . "," . "site_key=" . $site_key . "," . "tx_cd=" . $tx_cd . "," . @@ -181,8 +182,7 @@ class C_PAYPLUS_CLI_T $ordr_data . $rcvr_data . $escw_data . - $modx_data . - "\"") ; + $modx_data) ; } else {