🔍 CVE-2026-27454

5.3
CVSS Score
MEDIUM
2026-03-19
2026-06-17 10:27
✅ 완료

🇰🇷 한글 설명

Discourse 오픈소스 토론 플랫폼에서 특정 API 요청 시 게시물 수정 이력에 대한 권한 검증을 우회할 수 있는 취약점이 발견되었습니다. 공격자는 버전 번호를 열거함으로써 관리자가 의도적으로 숨긴 게시물 수정 내역을 임의로 조회할 수 있습니다.

💡 쉬운 설명

게시판의 글 수정 내역을 숨겨두어도 특정 주소를 이용하면 누구나 몰래 볼 수 있는 보안 허점이 발견되었습니다. 이를 통해 관리자가 삭제하거나 숨긴 이전 글 내용이 노출될 수 있습니다.

🇺🇸 원문 (English)

Discourse is an open-source discussion platform. Prior to versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2, requesting /posts/:id.json?version=X bypassed authorization checks on post revisions. The display_post method called post.revert_to directly without verifying whether the revision was hidden or if the user had permission to view edit history. This meant hidden revisions (intentionally concealed by staff) could be read by any user by simply enumerating version numbers. Starting in versions 2026.3.0-latest.1, 2026.2.1, and 2026.1.2, Discourse looks up the PostRevision and call guardian.ensure_can_see! before reverting, consistent with how the /posts/:id/revisions/:revision endpoint already authorizes access. No known workarounds are available.

📍 영향받는 시스템

Discourse versions prior to 2026.3.0-latest.1, 2026.2.1, and 2026.1.2

⚔️ 공격 벡터

/posts/:id.json?version=X 형태의 API 요청을 통한 버전 번호 열거(Enumeration)

🛡️ 대응 방법

Discourse를 최신 보안 패치 버전(2026.3.0-latest.1, 2026.2.1, 2026.1.2 이상)으로 업데이트하십시오.

🔧 검증 코드

명령어 실행 결과로 패치된 버전 번호가 출력되면 안전하며, 출력되지 않으면 취약한 상태입니다.

Shell / Script
curl -s http://<discourse-url>/version | grep -E '2026.3.0-latest.1|2026.2.1|2026.1.2'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

IBM Security Verify Access