CVE-2026-9055 describes an unauthenticated path from anonymous visitor to WordPress administrator in Amelia Premium 8.0 through 9.6.2 — fixed on July 7, 2026 in a release the vendor’s changelog describes with the same eight words it has used all year.
What happened
Wordfence published CVE-2026-9055 as a CNA on Wednesday, September 2, 2026, and the National Vulnerability Database record carries a publication timestamp of 5:17 a.m. UTC. The product is “Booking for Appointments and Events Calendar – Amelia (Premium),” from the vendor melograno. Affected versions run from 8.0 through 9.6.2. The score is CVSS v3.1 9.8, vector AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. The weakness is CWE-269, improper privilege management. The finding is credited to a researcher identified as d.v4n_s3c.
The chain the record describes has three steps. Insufficient validation of an attacker-controlled type parameter in the plugin’s customer update endpoint lets an unauthenticated request elevate the caller to the plugin’s manager role. From there the attacker creates a provider entity linked to an administrator’s WordPress user ID. Creating that link overwrites the administrator’s password. The attacker then logs in to WordPress as that administrator, through the normal login form, with a password they set themselves.
No credentials are required at any point. No user interaction is required. The endpoint is network-reachable on any site running the plugin. The outcome is full administrative control of the WordPress installation, which on most sites means the ability to install arbitrary PHP and therefore control of the host.
The affected range stops at 9.6.2, which makes 9.6.3 the first release not covered by it. Amelia’s public changelog dates 9.6.3 to July 7, 2026 and describes it, in its entirety on the security side, as: “Resolved a security vulnerability.”
That sentence is not unusual for this changelog. It is the house style. Reading back through Amelia’s 2026 releases, version 9.3.1 in April says “Resolved a security vulnerability.” Version 9.4, later in April, says “Resolved security vulnerabilities. We strongly recommend updating to this version immediately.” Version 9.6.2 at the end of June says “Resolved security vulnerabilities” with the same recommendation. Version 9.6.3 in July says “Resolved a security vulnerability.” Version 9.8 in August, whose headline feature is a White Label capability with a new SuperAdmin role, says “Resolved a security vulnerability.” Version 9.8.1 later in August mentions security vulnerabilities again without specifics, alongside a precisely worded functional note about bookings failing when Stripe payments are combined with Google reCAPTCHA.
Six releases in a single year, six variations on the same eight words. From the changelog alone, an administrator cannot tell which of those releases closed an unauthenticated path to administrator and which closed something that required a logged-in editor and a chain of unlikely conditions.
Why it matters
The interesting thing here is not that one release note was vague. It is that the vagueness is uniform, and uniform vagueness destroys the only signal the document could carry.
A changelog that describes some security fixes tersely and others in detail is still usable: the terse ones are probably minor, the detailed ones probably are not, and an administrator can triage on that difference. A changelog that describes every security fix identically carries no information at all beyond “something was fixed.” Amelia’s does exactly this. The 9.4 and 9.6.2 entries even add “we strongly recommend updating to this version immediately” — advice that, applied to every release, tells you nothing about any of them.
The vendor is plainly capable of specificity. Version 9.2’s notes name an IDOR that could allow arbitrary user password changes and an SQL injection issue. That is a real disclosure, written by people who knew what was wrong and said so. And the 9.8.1 entry demonstrates the same capacity in the functional register: bookings failed when Stripe payments were used with Google reCAPTCHA enabled, which is about as precise as a bug description gets. The precision is available. It is spent on features and functional regressions, and withheld from security.
The distribution model makes this cost more than it would elsewhere. This record is scoped to the Premium edition, which is sold and updated by the vendor rather than through the wordpress.org plugin directory. Premium WordPress plugins generally update through a licensed in-dashboard updater, which means an expired or unrenewed license produces a site that simply stops receiving updates and does not loudly say so. That population — sites whose license lapsed, sites where automatic updates were never enabled, sites managed by an agency that left — is precisely the population that has been running an unauthenticated administrator takeover since at least the beginning of 2026. Booking plugins live on the sites of dentists, clinics, salons, tutors, and small clinics: businesses that installed a scheduling tool and have no security operations function at all.
Fifty-seven days separate the fix from the record. During that window, the accurate description of what 9.6.3 did existed nowhere public. The researcher had it. Wordfence had it, under coordinated disclosure. The vendor had it. The operator running the plugin had eight words. And the eight words are the ones the operator uses to decide whether to schedule the update this week or after the holiday.
This is the sixth instance Severity Daily has documented in a week of a critical fix described in the vendor’s own release notes as routine maintenance — after WPLP Cookie Consent, Nokri, GiveWP, TranslatePress, and Eclipse Theia. The charitable reading remains the right one and is worth restating: changelogs on a commercial product page are written for prospective buyers, and no vendor wants a purchase page that reads as a list of things that were once broken. But the same document is what existing operators read to make patching decisions, and those two audiences want opposite things from it. Amelia is the clearest case yet of the second audience losing, because here the vendor’s own record shows what specificity looks like when it chooses to provide it.
What to do
Check the installed version in the WordPress plugins screen. Anything from 8.0 through 9.6.2 is affected by the record’s own range. The current release line is 9.8.x.
Update to the latest release, not to 9.6.3. Two further releases have shipped since the fix, each of which also resolved unspecified security issues. Landing on 9.6.3 clears this record and nothing after it.
Verify the license is active before assuming the update will arrive. If the plugin is not offering an update, the most common reason on a premium plugin is a lapsed license key, not the absence of a newer version. Check the vendor account rather than the dashboard notice.
Audit administrator accounts on any site that ran an affected version. The attack ends with an existing administrator’s password overwritten, so look for administrator accounts whose passwords changed without a corresponding request, for unfamiliar users in the plugin’s manager or provider roles, for new administrator accounts, and for plugin or theme files with recent modification times. Force a password reset across administrator accounts and invalidate existing sessions.
Do not read the absence of reported exploitation as the absence of exploitation. No proof of concept was located and no exploitation has been reported, but the record is a day old, the fix is fifty-seven days old, and the endpoint requires no authentication. The window in which someone could have found this independently is the whole of 2026.
Sourcing note
Checked: the NVD record for CVE-2026-9055 (published September 2, 2026, CVSS v3.1 9.8, CWE-269, assigned by Wordfence as CNA, affected versions 8.0 through 9.6.2, credited to d.v4n_s3c) and Amelia’s public changelog at wpamelia.com, read for versions 9.2 through 9.8.1.
Not reachable: Wordfence’s own threat intelligence entry for this vulnerability, referenced by the CVE record, did not return content to automated retrieval. Any detail carried only there — including an explicit statement of the patched version and any active-installation figure — is therefore not reflected here. That 9.6.3 is the fix is inferred from the record’s affected range ending at 9.6.2 and from the 9.6.3 changelog entry noting a resolved security vulnerability; the CVE record does not name a fixed version.
Conflicting timestamps: the NVD record shows a publication time of 5:17 a.m. UTC on September 2, 2026, while a third-party mirror of the CVE Program record shows 4:26 a.m. UTC the same day. The difference is consistent with the ordinary lag between the CVE Program record and NVD ingestion, and neither is treated here as more authoritative than the other.
Unresolved: no vendor advisory for this CVE was found, no install-base figure for the Premium edition is published, and Amelia’s specific licensing and update terms were not independently verified — the point about lapsed licenses reflects how premium WordPress plugins update generally. There is no KEV listing and no federal deadline; the NVD record carries no CISA fields. CISA’s pages return 403 to automated fetching, so KEV state was checked through those fields rather than cisa.gov directly.



