Security1 distinct publisher2 min readPublished
Patchstack chained an unsafe unserialize helper, a donation form and a bundled gadget chain into command execution on more than 100,000 installs. Version 4.16.7.2 closes the execution path and leaves the registration hole.
The Watch · Security desk

Compiled by The WatchSomething wrong?How this is made
The exposed registration action removes the account requirement that was meant to cap this bug. Patchstack's chain stacks three defects: an unsafe helper for unserializing PHP data, a donation-processing flow that stores attacker-controlled serialized objects, and a gadget chain inside libraries the plugin bundles that can invoke arbitrary system commands [5]. The chain needs an account on the target site [6], and that is the precondition the exposed registration action removes.
The request sequence is short. Create the account and collect the authentication cookie, write the serialized gadget into a profile field, then submit a crafted donation. George Johnstone of Patchstack says the server writes the gadget object into wp_give_sessions before returning an HTTP 500 [9]. Fetch any front-end page with the same cookie and the server unserializes the gadget and executes the command [10]. The 500 is therefore a log artifact worth grepping for, as is a new user account on a site whose registration is switched off.
Version triage is messier than "through 4.16.7.1" implies [2]. Patchstack names upgraded installations, sites using the plugin's option-based form editor, and older forms brought back by import or restore as the places that legacy-form condition turns up [12]. Earlier releases narrowed the exploitable population rather than closing the path; 4.16.7.2 blocks serialized data during donation processing and restricts object creation at several deserialization points [13].
Udin Chan reported the chain on July 28 through Patchstack [3]; the fix shipped on August 27 [13]. That is 30 days, assuming both dates fall in the same year, which the source does not state [17]. Nothing in the reporting describes exploitation in the wild [18].
What survives the patch is the registration action itself. Patchstack says it still does not honor the WordPress user registration setting, and says that is no longer exploitable for code execution [15]. The consequence carries forward: the next authenticated-only vulnerability found anywhere in GiveWP starts, from the attacker's side, already authenticated [19]. GiveWP's own registration path keeps handing that head start to whatever bug turns up next in the same codebase.
Ranked by verification strength, evidence, and original report placement.
CVE-2026-82222 is a maximum-severity vulnerability in the GiveWP plugin for WordPress that allows an unauthenticated attacker to execute arbitrary commands on the hosting server.
CVE-2026-82222 affects GiveWP through version 4.16.7.1.
The vulnerability was reported by bug researcher Udin Chan on July 28 through the Patchstack vulnerability intelligence platform.
The GiveWP plugin has more than 100,000 installs and is used to collect donations and manage fundraising campaigns.
Patchstack says exploitation chains three distinct issues: an unsafe helper for unserializing PHP data, a donation-processing flow that stores attacker-controlled serialized objects, and a gadget chain in libraries bundled with the plugin that can invoke arbitrary system commands.
Successful exploitation depends on the attacker having an account on the target site.
Distinct publishers with included, body-backed reporting in this cluster.
1 article · August 28, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
One slug, seven editions: the miniOrange SAML bug that makes published metadata an admin login1 distinct publisher
build
Forminator trusts a forged upload: a dropdown flaw exposes 600,000 WordPress sites to RCE1 distinct publisher
build
Open REST route in WildApricotPress Member Directory hands out members-only emails and phones1 distinct publisher
security
Xiiaozet's LK100W lets an unauthenticated caller switch on its admin services1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Specific, checkable, single-sourced
The mechanics are unusually falsifiable for a plugin advisory — a named endpoint, a named database table, an exact vulnerable range and an exact fixed build — which is why this lands above the middle. It stays there rather than higher because all of it comes from Patchstack, and BleepingComputer relays the chain without a second technical opinion or a word from GiveWP's maintainers.
Exposure counted, response unmeasured
What is actually counted here is who is at risk — 100,000-plus installs — and that a fix exists as of August 27. Nobody says how many sites have taken it, how many still carry the legacy forms that make the chain fire, or whether attackers have moved. The only measured consequence in the whole story is a year old: 30,000 Pi-hole donor records reached through this same plugin.
Severity earned, preconditions late
'Maximum severity' and 'unauthenticated' are defensible, and the account-minting endpoint is precisely what earns them. The tilt comes from ordering: several paragraphs after the headline claim, we learn that 4.16.6 through 4.16.7.1 only fall if the site still holds a legacy donation form without formBuilderSettings, and Patchstack's own 'may exist' is the difference between a universal emergency and a conditional one. No exploitation has been observed either.
The finder also sells the fix
Patchstack took the report, wrote the analysis, quotes its own researcher, and sells the virtual patching that shortens exactly the window it describes — it is the story's sole technical authority, not a neutral referee. The page then closes on a sponsored security-measurement pitch with no connection to GiveWP. None of that makes the chain fictional; the fixed version is checkable by anyone. It does mean the vendor set the severity framing unopposed.
Coherent bug, thin accounting
The technical story hangs together and is internally consistent, which is most of why this is not lower. What drags it toward the middle is bookkeeping: neither the report date nor the release date carries a year, so the tidy month-long disclosure window is inference; and the most consequential residual fact — an endpoint that still issues accounts on sites with registration switched off — is asserted as harmless now, by the same party that found it dangerous a month ago.