CVE-2026-45086
Ruby 취약성 분석 및 완화

개요

CVE-2026-45086 is a broken access control vulnerability in the decidim-demographics module of the Decidim participatory democracy platform, where the demographics questionnaire admin editor is accessible to any authenticated participant without admin authorization checks. The affected route /admin/demographics/questions/edit_questions renders the admin editor interface without verifying whether the caller holds admin privileges. Affected versions are decidim-demographics >= 0.31.0 and < 0.31.5, and >= 0.32.0.rc1 and < 0.32.0. The vulnerability was discovered through a security audit organized by the Decidim Association and conducted by Radically Open Security, and was publicly disclosed on July 13, 2026. It carries a CVSS v3.1 base score of 5.4 (Medium) (GitHub Advisory, Decidim Advisory).

기술적 세부 사항

The root cause is improper access control (CWE-284), classified under OWASP A01:2021 Broken Access Control. The decidim-demographics module's questions_controller and the has_questionnaire concern in decidim-forms failed to call enforce_permission_to before rendering the edit_questions and update_questions actions, meaning the admin route was reachable by any authenticated user. The fix, implemented in pull request #16665, adds explicit permission_subject methods and enforces permission checks on these actions, ensuring only users with admin-level access can reach the questionnaire editor (GitHub PR #16665, GitHub Advisory).

영향

A low-privilege authenticated participant can access the demographics questionnaire admin editor interface, view question-management surfaces restricted to questionnaire managers, and potentially add or modify questionnaire questions. The confidentiality and integrity impacts are both low — the attacker can read admin-only UI surfaces and submit form actions, but access to question responses and settings was denied in testing. There is no availability impact, and the vulnerability scope is unchanged, limiting blast radius to the demographics questionnaire management functionality (GitHub Advisory, Decidim Advisory).

착취 단계

  1. Obtain a participant account: Register or log in as a normal (non-admin) participant at http://<target>/users/sign_in.
  2. Navigate directly to the admin editor: In the same authenticated browser session, visit http://<target>/admin/demographics/questions/edit_questions — the route does not check for admin privileges and renders the editor interface.
  3. Interact with the admin interface: Use the live update form action presented on the page to add, modify, or view questionnaire questions that should be restricted to questionnaire managers.
  4. Observe access boundaries: Note that routes for viewing question responses or settings may still return access-denied errors, limiting the scope of unauthorized actions to question management (GitHub Advisory, Decidim Advisory).

타협의 징후

  • Network: Authenticated HTTP GET or POST requests to /admin/demographics/questions/edit_questions or /admin/demographics/questions originating from non-admin user sessions.
  • Logs: Web server or application logs showing participant-level user accounts (non-admin roles) accessing /admin/demographics/questions endpoints, particularly edit_questions or update_questions actions.
  • Application Behavior: Unexpected changes to demographics questionnaire questions (additions, modifications) not attributable to known admin accounts.

완화 및 해결 방법

Upgrade decidim-demographics to version 0.31.5 (for the 0.31.x branch) or 0.32.0 (for the 0.32.x branch), which include the fix from pull request #16665 that adds proper permission enforcement to the questionnaire admin actions. As a temporary workaround, disable the decidim-demographics module entirely until the upgrade can be applied. The fix also improves permission checks in related modules (decidim-forms, decidim-elections, decidim-meetings, decidim-surveys) for defense in depth (GitHub Advisory, GitHub PR #16665).

커뮤니티 반응

The vulnerability was discovered as part of a formal security audit organized by the Decidim Association and conducted by Radically Open Security, financed by NGI, indicating a proactive security posture by the project maintainers. The fix was reviewed and merged by the Decidim core team with automated code review from CodeRabbit, and backported to both the v0.31 and v0.32 release branches (GitHub PR #16665, Decidim Advisory). No significant broader media coverage or social media discussion has been identified.

추가 자료


근원이 보고서는 AI를 사용하여 생성되었습니다.

관련 Ruby 취약점:

CVE ID

심각도

점수

기술

구성 요소 이름

CISA KEV 익스플로잇

수정 사항이 있습니다.

게시된 날짜

CVE-2016-1000305MEDIUM6.9
  • Ruby logoRuby
  • guard-livereload
아니요Jul 31, 2026
CVE-2026-45377MEDIUM6.5
  • Ruby logoRuby
  • decidim-core
아니요Jul 31, 2026
CVE-2026-45376MEDIUM5.5
  • Ruby logoRuby
  • decidim-admin
아니요Jul 31, 2026
CVE-2026-45086MEDIUM5.4
  • Ruby logoRuby
  • decidim-demographics
아니요Jul 31, 2026
CVE-2026-45330MEDIUM4.9
  • Ruby logoRuby
  • decidim-verifications
아니요Jul 31, 2026

무료 취약성 평가

클라우드 보안 태세를 벤치마킹합니다

9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.

평가 요청

추가 Wiz 리소스

맞춤형 데모 받기

맞춤형 데모 신청하기

"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
데이비드 에슬릭최고정보책임자(CISO)
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
아담 플레처최고 보안 책임자(CSO)
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."
그렉 포니아토프스키위협 및 취약성 관리 책임자