CVE-2026-16098 ProSolution WP Client 비인증 파일 업로드 취약점이란?

ProSolution WP Client 플러그인의 CVE-2026-16098 취약점은 비인증 공격자가 Content-Disposition 헤더의 filename 매개변수를 오버라이드해 임의의 파일을 업로드할 수 있는 보안 결함입니다. proSol_handleFileUpload 함수의 검증 미흡으로 발생한 문제로, 공격자가 실행 가능한 파일을 업로드하면 원격 코드 실행(RCE)으로 이어질 수 있는 심각한 위험이 있습니다.

취약점 개요 및 대상 범위

CVE-2026-16098은 WordPress 기반 웹사이트에서 사용되는 ProSolution WP Client 플러그인에서 발견된 비인증 임의 파일 업로드 취약점입니다. 인증되지 않은 외부 사용자가 서버에 접근해 제어권을 획득할 수 있는 경로가 존재하므로 위험도가 매우 높습니다.

본 취약점이 영향을 미치는 대상 범위는 다음과 같습니다.

  • 대상 소프트웨어: WordPress 플러그인 ProSolution WP Client
  • 영향 버전: 2.0.10 이하의 모든 버전
  • 현재 최신 버전: 2.0.11

현재 WordPress.org 기준으로 해당 플러그인의 활성 설치 수는 20개 이상입니다.

취약 경로와 기술적 메커니즘

이 취약점의 핵심은 파일 업로드 처리 과정에서 발생하는 검증 누락과 로직 결함입니다. 공격 경로는 구체적으로 proSol_handleFileUpload 함수를 통해 이루어집니다.

1. Content-Disposition 헤더 오버라이드

공격자는 Content-Disposition 헤더 내의 filename 매개변수를 조작해 서버로 전송합니다. 시스템이 허용 리스트(Allow-list)에 기반한 multipart 파일 이름을 사용함에도, 공격자가 제어하는 해당 헤더 값이 이를 오버라이드(Override)하도록 허용하는 결함이 있습니다.

2. 확장자 검증 및 사후 처리 실패

파일이 저장되기 전 적절한 유효성 검사가 이루어지지 않고, 저장 후 수행되는 확장자 체크(Post-save extension check) 단계에서도 이미 기록된 파일을 삭제하지 못하는 치명적인 오류가 발생했습니다. 이로 인해 공격자는 서버가 거부해야 할 위험한 확장자의 파일을 서버 내에 남길 수 있습니다.

인증 우회 경로: Nonce 노출 분석

보통 파일 업로드 핸들러에 접근하려면 보안 토큰인 Nonce(Number used once)가 필요합니다. 하지만 CVE-2026-16098은 이 인증 과정마저 무력화하는 경로를 가지고 있습니다.

비인증 공격자는 잡 포털 숏코드(Job portal shortcode)가 렌더링된 모든 프론트엔드 페이지에서 wp_localize_script를 통해 공개된 Nonce 값을 얻을 수 있습니다. 확보한 유효한 Nonce로 인증 체크를 우회해 업로드 핸들러에 도달하게 됩니다.

영향 범위 및 위험도 분석

이 취약점은 단순 파일 업로드를 넘어 서버 전체의 제어권을 상실하게 만들 수 있는 고위험군 취약점으로 분류됩니다.

원격 코드 실행(RCE) 가능성

비인증 공격자가 실행 가능한 파일(예: PHP 쉘 등) 업로드에 성공하면, 원격에서 해당 파일을 실행해 서버 내 임의의 명령을 수행하는 원격 코드 실행(Remote Code Execution, RCE)이 가능해집니다.

보안 지표 요약

취약점의 심각도를 나타내는 CVSS 3.1 점수와 분류 체계는 다음과 같습니다.

| 항목 | 세부 내용 |
|:— |:— |
| CVSS 3.1 Base Score | 9.8 (CRITICAL) |
| CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CWE 분류 | CWE-434: Unrestricted Upload of File with Dangerous Type |
| 위험 수준 | Critical (치명적) |

타임라인 및 발견 현황

해당 취약점은 보안 기관 Wordfence가 발견해 책임 있게 공유했습니다.

  1. 공개(Disclosed): 2026년 8월 15일
  2. 공식 발표(Published): 2026년 8월 16일
  3. NVD 등록: 2026년 8월 16일

이 취약점의 발견자인 Nir Yehoshua와 Wordfence의 기여로 보안 패치가 진행되었습니다.

완화 조치 및 패치 권장사항

WordPress 기반 웹사이트 운영자와 IT 보안 관리자는 즉시 다음 조치를 취해야 합니다.

  1. 최신 버전 업데이트: ProSolution WP Client 플러그인을 최신 버전인 2.0.11로 즉시 업데이트하세요.
  2. 버전 확인: 현재 설치된 플러그인 버전이 2.0.10 이하인지 확인하고, 해당 버전이라면 즉시 패치를 적용해야 합니다.
  3. 로그 분석: proSol_handleFileUpload 함수와 관련된 비정상적인 파일 업로드 요청이나 알려지지 않은 실행 파일이 업로드된 이력이 있는지 서버 로그를 전수 조사해야 합니다.

댓글 남기기