pacioli consent gate lets markers cancel unrelated submitted documents
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-863.
Summary
pacioli from 0.9.6 before 0.10.0 and pacioli-guard from 0.9.6 before 0.10.0 are affected. The pacioli-guard consent gate lets nested cancellations reuse any enclosing consent without checking that it authorizes cancellation (CWE-863). An attacker with an API key carrying the require_consent scope can cancel another pre-existing submitted document under a valid submit marker, reversing its ledger effect.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
pacioli provides least-privilege governance and a governed agent broker for ERPNext. From version 0.9.6 until version 0.10.0, the pacioli-guard document-layer consent gate allows nested cancellation operations to ride any consent established by an enclosing governed act without checking whether the marker authorizes cancellation. A credential with API Key Scope.require_consent can submit a caller-controlled Sales Invoice or other supported document under a valid human-minted submit marker and reach Document.cancel() for a different pre-existing submitted document, bypassing the marker's document and act binding, single-use spend, and denial audit. The unauthorized cancellation can reverse the target document's ledger effect; principals without a consent-gated grant are not affected. This issue is fixed in version 0.10.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| john-broadway | pacioli | 0.9.6 to before 0.10.0 | 0.10.0 | Patch available | CNA |
| — | pacioli-guard (PyPI) | 0.9.6 to before 0.10.0 | 0.10.0 | Patch available | GHSA-3hj7-6vmj-h8v4 |
- pacioli Vendorjohn-broadway Affected 0.9.6 to before 0.10.0 Fixed in 0.10.0 Patch available CNA
- pacioli-guard (PyPI) Vendor— Affected 0.9.6 to before 0.10.0 Fixed in 0.10.0 Patch available GHSA-3hj7-6vmj-h8v4
Remediation
Upgrade pacioli-guard to version 0.10.0 on PyPI, which fixes this flaw. The sources list no fixed version for pacioli.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA pacioli (john-broadway) Fixed in 0.10.0
- Fix · GHSA-3hj7-6vmj-h8v4 pacioli-guard (PyPI) Fixed in 0.10.0 Advisory →
Timeline
- 2026-10-10 Threatist record created from CVE-2026-107841
- 2026-10-10 Alias added: GHSA-3hj7-6vmj-h8v4
- 2026-10-10 Fix available: PyPI/[email protected] · GHSA-3hj7-6vmj-h8v4
- 2026-10-10 CVSS score added · GHSA-3hj7-6vmj-h8v4
- 2026-10-10 Weakness changed · GHSA-3hj7-6vmj-h8v4
- 2026-10-10 5 new references · GHSA-3hj7-6vmj-h8v4
References
Sources
- CVE-2026-107841 · CVE Program
- CVE-2026-107841 · NVD
- FIRST EPSS
- GHSA-3hj7-6vmj-h8v4 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences