Junglewise Threat Intelligence

Actual Sync-server GoCardless service logging sensitive data

Severity: low · CVSS 3.1 · Published 2025-10-20

Technologies: Actual Technologies Actual, @actual-app/sync-server (npm). Vendors: npm.

Executive brief

Actual's sync-server component logs sensitive banking data to standard output when integrating with GoCardless, a payment platform. Exposed information includes API bearer tokens, customer bank account numbers (IBANs), account holder names, and transaction details. Anyone with access to application logs or Docker containers can retrieve these credentials and personally identifiable information, risking unauthorized access to banking accounts and customer data breaches.

Technical details

The GoCardless integration in Actual's sync-server uses console.log and console.debug to output API responses and error stack traces without filtering. The vulnerability stems from two code paths: (1) debug logging of complete GoCardless API account and transaction responses via console.debug in integration-bank.js, and (2) unhandled exception logging that dumps full error stack traces including HTTP headers containing Authorization bearer tokens in app-gocardless.js. Both vectors are reachable during normal operation (e.g., when calling GoCardless APIs or when upstream services return HTTP errors). The logged data flows to Docker logs and application log files, accessible to infrastructure operators and potentially exposed in centralized logging systems. Versions 25.10.0 and earlier are affected; patches available in 25.11.0 and later remove or redact sensitive data from logs.

Affected products

  • Actual Technologies Actual <= 25.10.0

Timeline

  • 2025-10-18: disclosed
  • 2025-11-00: patched: Fix released in version 25.11.0

References

Related threats