🇰🇷 한글 설명
WordPress용 10Web Booster 플러그인 2.34.5 이하 버전에서 경로 탐색(Path Traversal)을 통한 제한적인 파일 쓰기 취약점이 발견되었습니다. OptimizerWebPageCache::get_cache_file_dir() 함수가 검증되지 않은 $_GET 파라미터를 캐시 경로에 결합하여, 공격자가 캐시 루트 외부의 임의의 디렉토리를 생성하고 'source.html' 파일을 작성할 수 있습니다.
💡 쉬운 설명
웹사이트 속도를 높여주는 플러그인의 허점을 이용해, 공격자가 서버의 엉뚱한 곳에 폴더를 만들고 파일을 저장할 수 있는 문제입니다. 다만 파일 이름과 내용이 정해져 있어 시스템을 직접 해킹하기는 어렵지만, 웹사이트의 정상적인 동작을 방해할 수 있습니다.
🇺🇸 원문 (English)
The 10Web Booster – Website speed optimization, Cache & Page Speed optimizer plugin for WordPress is vulnerable to a limited file write via path traversal in versions up to, and including, 2.34.5 This is due to the OptimizerWebPageCache::get_cache_file_dir() function concatenating raw, unsanitized $_GET parameter names and values into the on-disk cache path, and the cache_content() sink calling mkdir() and file_put_contents() on the result with no realpath containment check — unlike the sibling delete_page_cache(), which does perform one. This makes it possible for unauthenticated attackers to create arbitrary directories (mode 0777, recursively) outside the cache root and write a cached page into them. The write is LIMITED: the filename is always 'source.html', so the extension is fixed, and the content is the rendered page buffer rather than attacker-supplied data. PHP files cannot be written and code execution is not possible; the demonstrated impact is cache poisoning and arbitrary directory creation.
📍 영향받는 시스템
10Web Booster WordPress plugin versions up to and including 2.34.5
⚔️ 공격 벡터
검증되지 않은 $_GET 파라미터를 이용한 경로 탐색(Path Traversal) 공격
🛡️ 대응 방법
10Web Booster 플러그인을 최신 보안 패치 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 플러그인 이름의 버전이 2.34.5 이하인지 확인하십시오.
wp plugin list --status=active | grep -E '10web-booster' | awk '{print $2}'