Skip to content

Fix vulnerable QuickBooks example dependencies and migrate to OAuth 2.0 - #27

Merged
robgilbreath merged 2 commits into
masterfrom
security/example-ejs
Oct 7, 2026
Merged

robgilbreath merged 2 commits into
masterfrom
security/example-ejs

Conversation

@robgilbreath

@robgilbreath robgilbreath commented Oct 7, 2026 •

Copy link
Copy Markdown

The QuickBooks example installed vulnerable EJS and an obsolete public SDK whose request dependency introduced additional vulnerabilities. It now uses patched, separately locked example dependencies and the SDK in this checkout, with an OAuth 2.0 authorization-code flow using Node fetch. Session state binds the callback, replay is rejected, and tokens are never logged or rendered.

CI installs, tests, and audits the example separately. The SDK patch version advances to 2.0.58 to satisfy the publication gate.

Validation: reproducible root/example npm ci, four SDK regression tests, typecheck, four loopback example tests covering state validation, OAuth exchange, escaping, replay and failure handling, and zero audit findings in both dependency trees. An independent agent reviewed the final change. Live Intuit authentication requires user credentials and was not exercised.

@robgilbreath robgilbreath changed the title fix(security): patch EJS in the QuickBooks example Fix vulnerable QuickBooks example dependencies and migrate to OAuth 2.0 Oct 7, 2026
@robgilbreath
robgilbreath merged commit 50da6b1 into master Oct 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant