Impact
pacioli-guard provides a consent gate that was supposed to enforce that only the marker author could cancel a document. The flaw allows a caller with an API key that can submit documents to supply a different document ID to Document.cancel() and bypass the marker’s authorisation checks. The result is that an attacker can delete or reverse any previously submitted document, affecting the integrity of financial records and potentially negating ledger entries. This is a data‑integrity violation rather than code execution. The vulnerability is contained within the application layer and requires authentication with a key that has the Scope.require_consent permission.
Affected Systems
The flaw exists in John‑Broadway’s pacioli starting with version 0.9.6 and is fixed in version 0.10.0. The affected products are pacioli releases 0.9.6 through 0.10.0. Updating to 0.10.0 or later removes the bug. No other product or vendor versions are mentioned.
Risk and Exploitability
With a CVSS score of 5.7 the vulnerability is moderate in severity. The EPSS score is not available and it is not listed in the CISA KEV catalog, suggesting limited observed exploitation at this time. An attacker must already possess an authenticated API key with Scope.require_consent, but once such a key is available the exploit path is simple: submit a document under a valid human‑minted marker and call Document.cancel() with a target document ID. The lack of additional verification means the attack can be performed over the network against the pacioli API without additional privileges.
OpenCVE Enrichment
Github GHSA