1
0
Ahmed Bouhuolia 78fb158b98 fix(server): verify Plaid webhook signatures (GHSA-g56w-g54f-whq5)
POST /api/banking/plaid/webhooks was @PublicRoute() and processed the
body without verifying Plaid's Plaid-Verification JWT, letting any
unauthenticated client replay or fabricate webhook events for a tenant
by guessing a plaidItemId.

Add PlaidWebhookVerificationService that verifies the Plaid-Verification
ES256 JWS using a JWK fetched from plaidClient.webhookVerificationKeyGet
(cached per kid via lru-cache for 24h), enforces a 5-minute iat replay
window through jose.jwtVerify({ maxTokenAge }), and timing-safe compares
the body's SHA-256 against the request_body_sha256 claim. The webhook
controller now consumes the raw body and the plaid-verification header,
runs verification before setupPlaidTenant, and returns 400 Bad Request
on any failure - so no tenant context is ever set for an unsigned or
tampered request.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 12:19:30 +02:00
2025-10-18 21:38:21 +02:00
2023-02-07 19:28:38 +02:00
wip
2026-01-15 22:04:51 +02:00
2026-01-28 23:40:32 +02:00
2026-01-09 23:38:52 +02:00
2023-11-05 02:58:48 +02:00
2024-12-09 12:23:46 +02:00
2026-01-09 23:38:52 +02:00
2024-10-06 17:20:28 +02:00
wip
2026-03-27 16:11:33 +02:00
2024-10-06 17:20:28 +02:00
2026-01-31 15:31:17 +02:00

Bigcapital

Simple, smart online accounting software for small and medium businesses.

twitter

Bigcapital Cloud

What's Bigcapital?

Bigcapital is a smart and open-source accounting and inventory software, Bigcapital keeps all business finances in right place and automates accounting processes to give the business powerful and intelligent financial statements and reports to help in making decisions.

Getting Started

We've got serveral options on dev and prod depending on your need to get started quickly with Bigcapital.

Self-hosted

Bigcapital is available open-source under AGPL license. You can host it on your own servers using Docker.

Docker

To get started with self-hosted with Docker and Docker Compose, take a look at the Docker guide.

Development

Local Setup

To get started locally, we have a guide to help you.

Gitpod

  • Click the Gitpod button below to open this project in development mode.
  • This will open and configure the workspace in your browser with all the necessary dependencies.

Open in Gitpod

Headless Accounting

You can integrate Bigcapital API with your system to organize your transactions in double-entry system to get the best financial reports.

Run in Postman

Resources

Changelog

Please see Releases for more information what has changed recently.

Contact us

Meet our sales team for any commercial inquiries.

Book us with Cal.com

Recognition

Featured on Hacker News

Contributors

Thanks goes to these wonderful people (emoji key):

Ahmed Bouhuolia
Ahmed Bouhuolia

💻
Ameir Abdeldayem
Ameir Abdeldayem

🐛
ElforJani13
ElforJani13

💻
Lars Scheibling
Lars Scheibling

🐛
Suhaib Affan
Suhaib Affan

💻
Kalliopi Pliogka
Kalliopi Pliogka

🐛
Robert Koch
Robert Koch

💻
Casper Schuijt
Casper Schuijt

🐛
ANasouf
ANasouf

💻
Ragnar Laud
Ragnar Laud

🐛
Asena
Asena

🐛
Ben Snyder
Ben Snyder

💻
Vederis Leunardus
Vederis Leunardus

💻
Chris Cantrell
Chris Cantrell

🐛
Denis
Denis

🐛
Sachin Mittal
Sachin Mittal

🐛
Camilo Oviedo
Camilo Oviedo

💻
Mantey
Mantey

🐛
Daniel Lo Nigro
Daniel Lo Nigro

🐛 💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Languages
TypeScript 97.1%
SCSS 1.9%
Shell 0.4%
HTML 0.3%
JavaScript 0.2%