---
id: "CVE-2026-119164"
page: "https://infrastack.ai/live/CVE-2026-119164"
kind: "vulnerability"
aliases: ["CVE-2026-119164"]
title: "wpForo Forum WordPress plugin: subscribers can escalate to forum admin"
severity: "high"
cvss: 7.5
epss: null
exploited: false
status: "open"
category: "package"
products: [{"name": "wpforo", "fixed": ["3.2.3"], "affected": "<= 3.2.2", "ecosystem": "wordpress"}]
ecosystems: []
tags: ["package", "self-hosted", "wordpress", "wpforo"]
not_affected_if: ["no-wpforo-plugin", "plugin-above-3.2.2", "registration-closed"]
published_at: "2026-11-07T10:17:07+00:00"
first_seen_at: "2026-11-07T10:46:40+00:00"
updated_at: "2026-11-07T10:50:31+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-119164", "first_seen_at": "2026-11-07T10:46:40+00:00"}, {"source": "analyst", "url": "https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/wpforo/wpforo-forum-322-authenticated-subscriber-privilege-escalation-to-datasecondary-groupids-csv-parameter", "first_seen_at": "2026-11-07T10:50:31+00:00", "cites": ["https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/wpforo/wpforo-forum-322-authenticated-subscriber-privilege-escalation-to-datasecondary-groupids-csv-parameter", "https://patchstack.com/database/wordpress/plugin/wpforo/vulnerability/wordpress-wpforo-forum-plugin-3-2-2-authenticated-subscriber-privilege-escalation-to-data-secondary-groupids-csv-parameter-vulnerability"]}]
exploit_sources: []
---

# wpForo Forum WordPress plugin: subscribers can escalate to forum admin

Link for people: https://infrastack.ai/live/CVE-2026-119164 (this .md is for agents)

The wpForo Forum plugin for WordPress lets any logged-in Subscriber inject extra forum group IDs into their profile through the secondary_groupids field. Injecting the Admin group ID gives the attacker wpForo Administrator rights, including editing content owned by other users and rewriting forum-wide permissions.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- wordpress:wpforo affected <= 3.2.2 fixed 3.2.3

## How to check

- In WordPress admin > Plugins, check the wpForo Forum version; 3.2.2 and earlier are affected, 3.2.3 is the first patched version.
- Or read the Version line in wp-content/plugins/wpforo/wpforo.php, or run: wp plugin get wpforo --field=version
- Exposure needs an attacker account with at least 3 approved forum posts (default antispam setting), so sites with open registration are most at risk.
- Review forum members in wpForo for unexpected Admin secondary groups.

## Fix

Update the wpForo Forum plugin to 3.2.3 or later (Wordfence, Patchstack).

## Timeline

- 2026-11-07T10:46:40+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-119164
- 2026-11-07T10:50:31+00:00 analyst https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/wpforo/wpforo-forum-322-authenticated-subscriber-privilege-escalation-to-datasecondary-groupids-csv-parameter — Wordfence and Patchstack both list 3.2.3 as first patched version (affected <= 3.2.2). Neither is the plugin author's own page (changelog/trac not read), so nothing marked verified. No exploitation or PoC found.

## Documents

- [advisory] Wordfence: wpForo Forum <= 3.2.2 privilege escalation https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/wpforo/wpforo-forum-322-authenticated-subscriber-privilege-escalation-to-datasecondary-groupids-csv-parameter
- [fix] Patchstack: wpForo Forum <= 3.2.2 privilege escalation https://patchstack.com/database/wordpress/plugin/wpforo/vulnerability/wordpress-wpforo-forum-plugin-3-2-2-authenticated-subscriber-privilege-escalation-to-data-secondary-groupids-csv-parameter-vulnerability

## From the sources

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.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
