Summary
CVE-2026-91078 is an Improper Authentication (CWE-287) vulnerability in the TillKit WordPress plugin, affecting all versions prior to 1.0.5. The plugin provisions a privileged Point-of-Sale (POS) "manager" account at activation time with a hard-coded, publicly known default PIN that site owners are never required to change. Because the public-facing POS login endpoint validates access solely on this static PIN with no identity or capability checks, any unauthenticated remote attacker can log in as the privileged POS account. The issue carries a CVSS v3.1 base score of 8.2 (High).
Technical details
- Root cause: On activation, TillKit automatically creates a privileged POS/manager account and assigns it a hard-coded PIN value that is publicly known (present in the plugin code), rather than generating a unique secret or forcing a mandatory change on first use.
- Trigger conditions: The vulnerable configuration exists on any site running TillKit < 1.0.5 where the default manager PIN has not been manually changed after installation — the default, out-of-the-box state.
- Attack vector: The plugin’s public POS login endpoint is reachable without authentication and accepts the default PIN as the sole credential, with no additional identity verification, rate limiting reference, or capability check described in the advisory.
- Impact: A remote, unauthenticated attacker who supplies the known default PIN obtains a privileged POS session, enabling them to read customer and site-user personal data and to modify store/POS data (confidentiality and integrity impact; no direct availability impact per the CVSS vector).
Affected software
- TillKit WordPress plugin — all versions prior to 1.0.5
- Fixed in: TillKit 1.0.5
Severity
- CVSS v3.1 Base Score: 8.2 (High)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
Mitigation and recommended actions
- Immediate: Update the TillKit plugin to version 1.0.5 or later, where the default PIN requirement has been addressed.
- If immediate patching is not possible:
- Manually change the default POS manager PIN to a strong, unique value immediately — do not rely on default credentials.
- Restrict or disable access to the public POS login endpoint at the network or web server layer (e.g., IP allow-listing) until the plugin can be updated.
- Audit POS account activity and customer/user data for signs of unauthorized access if the default PIN may have been exposed.

