🔍 CVE-2026-75830

7.1
CVSS Score
HIGH
2026-08-18
2026-10-22 22:10
✅ 완료

🇰🇷 한글 설명

grav-plugin-api의 PagesController::batchCopy() 메서드에서 경로 탐색(Path Traversal) 취약점이 발견되었습니다. api.pages.write 권한을 가진 인증된 사용자가 'suffix' 파라미터에 경로 탐색 시퀀스를 입력하여 의도된 디렉토리를 벗어나 웹 서버가 쓰기 권한을 가진 임의의 파일 시스템 위치에 파일을 생성할 수 있습니다.

💡 쉬운 설명

권한이 있는 사용자가 파일 이름을 조작하여 서버의 허용되지 않은 폴더에 악성 파일을 저장할 수 있는 보안 약점입니다. 이를 통해 서버의 중요한 설정 파일을 덮어쓰거나 시스템을 장악할 위험이 있습니다.

🇺🇸 원문 (English)

grav-plugin-api (getgrav/grav-plugin-api) versions >= 1.0.0-beta.10 and <= 1.0.14 contain a path traversal vulnerability in the PagesController::batchCopy() method. An incomplete fix for GHSA-qjq4-jp55-4mx2 left the user-controlled 'suffix' parameter (via POST /api/v1/pages/batch) unvalidated. An authenticated user with the api.pages.write permission (editor-level, not super-admin) can supply path traversal sequences (e.g. /../../../) in the suffix parameter to escape the intended user/pages/ directory and write attacker-controlled page content and page media to arbitrary filesystem locations writable by the web server process. The vulnerability is fixed in 1.0.15.

📍 영향받는 시스템

getgrav/grav-plugin-api versions 1.0.0-beta.10 <= 1.0.14

⚔️ 공격 벡터

인증된 사용자가 POST /api/v1/pages/batch 요청의 'suffix' 파라미터에 '/../../../'와 같은 경로 탐색 문자를 삽입하여 공격

🛡️ 대응 방법

grav-plugin-api를 최신 버전인 1.0.15 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 1.0.15 미만(1.0.14 이하)인 경우 취약한 상태입니다.

Shell / Script
composer show getgrav/grav-plugin-api | grep 'versions'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L

💻 영향받는 소프트웨어

Plex Media Server