🇰🇷 한글 설명
Bricks Theme 2.4 이하 버전의 WordPress 테마에는 인증되지 않은 접근 제어 취약점이 존재합니다. load_popup_content REST 엔드포인트는 상태나 권한 검사 없이 popupId 값만으로 콘텐츠를 반환하여, 공개되지 않은 초안 페이지 내용이 노출될 수 있습니다. 공개 nonce를 얻은 뒤 popupId를 증가시키는 방식으로 사이트 내 모든 미공개 게시물을 열람할 수 있습니다.
💡 쉬운 설명
로그인하지 않은 사람도 웹사이트의 아직 공개되지 않은 글이나 페이지 내용을 몰래 볼 수 있는 보안 결함입니다. 공격자는 번호를 바꿔가며 비공개 콘텐츠를 하나씩 확인할 수 있습니다.
🇺🇸 원문 (English)
Bricks Theme 2.4 and before for WordPress contains an unauthenticated broken access control vulnerability in the load_popup_content REST endpoint that allows anonymous attackers to read draft and unpublished page content by supplying a popupId parameter without any status or capability checks. Attackers can obtain a public nonce via the bricks_regenerate_query_nonce action and then increment the popupId value in requests to the /wp-json/bricks/v1/load_popup_content endpoint to enumerate and disclose confidential content from any unpublished post on the site.
📍 영향받는 시스템
Bricks Theme 2.4 이하 버전을 사용하는 WordPress 사이트
⚔️ 공격 벡터
비인증 상태에서 공개 nonce를 획득한 뒤 /wp-json/bricks/v1/load_popup_content 엔드포인트에 popupId를 순차적으로 바꿔 요청하여 미공개 게시물 내용을 열람
🛡️ 대응 방법
Bricks Theme을 2.4보다 높은 패치 버전으로 즉시 업데이트하고, 업데이트 전까지 해당 REST 엔드포인트를 차단
🔧 검증 코드
출력된 버전이 2.4 이하이면 취약하므로 취약점에 노출된 것이며, 2.4보다 높은 버전이면 패치가 적용된 것입니다.
wp theme get bricks --field=version 2>/dev/null || grep -m1 "Version:" wp-content/themes/bricks/style.css