Build1 distinct publisher2 min readUpdated
A researcher found the plugin's directory route answers anyone, returning contact details members had set to hide. The fix is in code, so patch past 1.0.0 or turn it off.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
The interesting part is where the privacy check was supposed to live and where it actually did not. According to Huynh Kien Minh's write-up, WildApricot lets a member decide field by field whether a phone number or email is shown to non-members, and the plugin's frontend honored that choice by hiding the values in the directory cards [7]. The backend did not [6]. The callback `newpath_wap_get_member_directory` pulled the member records and serialized the raw objects straight into the JSON response, restricted fields included [5][6].
That gap only matters because the route was open. The plugin registered its directory endpoint with `permission_callback` set to `__return_true` [4]. In WordPress that string is the standard shortcut for "anyone may call this," and it is the usual way developers let async frontend JavaScript pull data without a login [4]. It also means a plain HTTP GET from a stranger gets the same response the page's own script would [8].
The proof-of-concept the researcher published is a short request loop: point it at `/wp-json/newpath-wap/v1/directory`, read the JSON, print names, emails and phones [12]. There is no authentication step to defeat because there is no authentication [4].
The CVSS 3.1 rating is 5.3, a medium [2]. That reads low for a bug that returns contact details a member specifically asked to keep private [8]. The score reflects that this is read-only disclosure, not write access or code execution; it does not reflect what a full member roster is worth to someone building a phishing list [2][9].
Kien Minh's remediation is the obvious one: check capability and per-field privacy on the server before the object is serialized, not after it reaches the browser [10]. For operators the instruction is narrower. Move past 1.0.0 [1][10]. Because the missing check sits in code rather than configuration, no directory setting will close the route, and any site that cannot confirm a fixed build is installed is left with disabling the plugin as its only other control.
The account so far is one researcher's, published on dev.to, pointing to a WPScan verified advisory and an NVD entry under the same CVE identifier [11][3]. That is worth noting before you treat the downstream language, phishing and credential stuffing, as settled rather than plausible [9].
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
The researcher recommends updating to a patched release above 1.0.0 and implementing server-side field-level capability and privacy checks before member objects are serialized into the REST response.
The write-up references a WPScan verified advisory and an NVD entry under CVE-2026-13736.
CVE-2026-13736 is an unauthenticated member PII disclosure vulnerability affecting the NewPath WildApricotPress Add-on - Member Directory WordPress plugin prior to and including version 1.0.0.
The vulnerability was rated CVSS 3.1 score 5.3 Medium, mapped to CWE-284 and CWE-200.
The flaw was discovered and analyzed by cybersecurity researcher Huynh Kien Minh (MinhHK), who published the write-up on dev.to.
The plugin registered its directory REST route with permission_callback set to __return_true, marking it publicly reachable with no authentication, to let frontend JavaScript fetch member directory cards asynchronously.
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.
Concrete mechanism, single self-published source
The technical core is unusually specific for a single-source story: a named CVE, a CVSS/CWE mapping, the exact route and callback names, the offending permission_callback, and a reproducible PoC that a site owner can run against their own install. That specificity is verifiable by inspection. Against it, the cluster contains exactly one source, authored by the reporting researcher and published on a developer blogging platform; the cited WPScan advisory and NVD entry are referenced but not supplied for independent checking, and no vendor statement or named patched release corroborates the fix.
No install-base or exploitation data
The supplied source provides no plugin install count, number of affected sites, vendor patch release, scanning or exploitation telemetry, and no evidence that any organisation has acted on the advisory. A single disclosure event is not a measure of adoption or real-world impact, and inferring an affected population would be guesswork.
Risk language runs ahead of the medium-severity record
The verified technical facts support a real, easily exploited privacy leak rated only 5.3 Medium. The framing extends beyond that to targeted phishing, credential stuffing and unauthorized profiling 'across affected organizations' without any exploitation evidence or affected-site count, and the remediation is asserted as 'update to > 1.0.0' with no named patched build. The gap is modest rather than severe because the underlying mechanism and PoC are genuine and precisely documented.
Researcher self-promotion woven through the advisory
The write-up is authored and published by the researcher who claims the finding, and it repeatedly routes readers to his personal cybersecurity portfolio, GitHub profile and 'Cybersecurity Portfolio Hub', names him as verifier of the CVSS score, and even brands the PoC HTTP user-agent with his name. Credit and visibility for the discovery are a direct benefit to the publisher of the claim. This does not make the technical content wrong — it is checkable — but it means severity framing and impact language come from an interested party with no editorial counterweight in the cluster.
Mechanism credible, scope and patch status unresolved
Confidence in the technical mechanism is reasonably high because it is stated at code level and is self-verifiable by any operator with the plugin installed. Confidence in the wider story is low: one interested publisher, no independent advisory text in the cluster, no affected-population figure, no confirmed patched release, and no adoption dimension measurable at all.
build
Forminator trusts a forged upload: a dropdown flaw exposes 600,000 WordPress sites to RCE1 distinct publisher
build
Six MariaDB versions, one real difference: the only reason to leave 10.6 is the July 2026 clock1 distinct publisher
build
GitLab bundles a zero-click GraphQL flaw with a CSRF bug, and only one needs a victim1 distinct publisher
security
CDN Tsunami: the protocol translation you pay for is the amplifier1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 22, 2026