🔍 CVE-2026-119164

7.5
CVSS Score
HIGH
2026-11-07
2026-11-08 19:17
✅ 완료

🇰🇷 한글 설명

wpForo Forum 플러그인 3.2.2 이하 버전에는 secondary_groupids 권한 검증 로직의 타입 혼동 결함이 있어, 구독자 이상의 인증된 사용자가 프로필 업데이트 요청을 통해 관리자 그룹 ID를 주입하여 wpForo 관리자 권한을 획득할 수 있습니다. 공격에는 플러그인의 최소 승인 게시글 수 조건(3개)과 유효한 nonce가 필요합니다.

💡 쉬운 설명

포럼 플러그인의 권한 확인 과정에 결함이 있어, 일반 회원이 자신의 프로필 설정을 조작해 관리자 권한을 얻을 수 있습니다. 관리자가 되면 다른 회원의 글을 수정하거나 포럼 전체 권한 정책을 바꿀 수 있습니다.

🇺🇸 원문 (English)

The wpForo Forum plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 3.2.2 via the `data[secondary_groupids]` parameter of the `wpforo_action_profile_update` POST handler. This is due to a type-confusion flaw in the secondary_groupids authorization guard within the `Members::update()` function in `classes/Members.php`, where casting a scalar CSV string (e.g. `"0,1"`) with `(array)` before `array_map('intval', …)` and `array_filter()` produces an empty array — causing the guard's outer conditional, and the else-branch that would otherwise strip the field from the update, to be bypassed entirely — while `encode()`/`decode()` downstream correctly explodes the original CSV and persists the attacker-supplied group IDs to `wp_wpforo_profiles.secondary_groupids`. This makes it possible for authenticated attackers, with Subscriber-level access and above, to escalate their forum privileges to wpForo Administrator by injecting the privileged Admin group ID, granting access to the Forum Accesses editor and the ability to rewrite forum-wide capability policies for all members and edit arbitrary content owned by other users. Exploitation requires the attacker to have at least 3 approved wpForo posts to satisfy the plugin's default `min_number_posts_to_edit_account` antispam gate, along with a valid wpforo nonce obtained from their own account profile form.

📍 영향받는 시스템

WordPress용 wpForo Forum 플러그인 3.2.2 및 이전 버전

⚔️ 공격 벡터

인증된 구독자 계정으로 프로필 업데이트 요청의 data[secondary_groupids] 파라미터에 관리자 그룹 ID를 주입해 권한 상승

🛡️ 대응 방법

wpForo 플러그인을 3.2.2보다 높은 패치 버전으로 즉시 업데이트하고, 업데이트 전까지 해당 기능을 비활성화하거나 secondary_groupids 값을 서버 측에서 검증하세요.

🔧 검증 코드

출력된 버전이 3.2.2 이하이면 취약하며, 3.2.2보다 높은 버전이면 이 CVE의 영향을 받지 않습니다. 명령이 결과를 내지 못하면 플러그인이 설치되지 않은 것입니다.

Shell / Script
wp plugin list --name=wpforo --field=version 2>/dev/null || grep -rh "Version:" $(find / -path '*/wp-content/plugins/wpforo/wpforo.php' 2>/dev/null | head -1) 2>/dev/null

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

WordPress