GHSA-84vh-m24q-wjjx: Go/github.com/pocketbase/pocketbase vulnerability

Published Sep 17, 2026
·
Updated

PocketBase already has builtin panic-recover middleware for the regular requests handling but it doesn't cover panics in internal child/worker goroutines which in some situations could cause termination of the server process.

To prevent this from hapenning all existing internal worker functions were wrapped with the new helper routine.SafeWrap(f) (auto recovers and returns any eventual panic as regular error).

The vulnerability was reported by @gigioneggiando and it is strongly recommended to upgrade to PocketBase v0.39.7 (the fix was also backported in v0.22.48 in case you are using older PocketBase < v0.23.0).

Affected Software

2 affected componentsFixes available
go/github.com/pocketbase/pocketbase>=0.23.0<0.39.7
0.39.7
go/github.com/pocketbase/pocketbase<0.22.48
0.22.48

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade go/github.com/pocketbase/pocketbase to a version that resolves this vulnerability.

    Fixed in 0.39.7
  2. Upgrade

    Upgrade go/github.com/pocketbase/pocketbase to a version that resolves this vulnerability.

    Fixed in 0.22.48
  3. Upgrade

    Upgrade pocketbase/pocketbase to a version that resolves this vulnerability.

    Fixed in v0.39.7
  4. Upgrade

    Upgrade pocketbase/pocketbase to a version that resolves this vulnerability.

    Fixed in v0.22.48
  5. Configuration

    Update PocketBase so all existing internal worker functions are wrapped with the helper `routine.SafeWrap(f)`.

    PocketBase internal worker goroutines routine.SafeWrap(f) = wrap internal worker functions with routine.SafeWrap(f) to auto-recover panics and return them as errors

Event History

Sep 17, 2026
Advisory Published
via GitHub·02:58 PM
Data Sourced
via GitHub·02:58 PM
DescriptionWeaknessAffected Software

Frequently Asked Questions

1

Are deployments protected by the existing panic-recovery middleware?

No. The built-in middleware recovers panics during regular request handling, but it does not cover panics in internal child or worker goroutines. Such a panic can terminate the server process.

2

What versions should be deployed to remediate this issue?

Upgrade to PocketBase v0.39.7. For deployments using PocketBase versions earlier than v0.23.0, the fix was backported in v0.22.48.

3

What is the operational impact if a vulnerable instance encounters this condition?

An unhandled panic in an internal child or worker goroutine may terminate the PocketBase server process. This can result in service interruption until the process is restarted.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203