Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach network-exposed PocketBase endpoint
-
DeliverySubmit input hitting an internal worker goroutine
-
ExploitTrigger unrecovered panic (e.g. view wildcard column)
-
ExecutionPanic escapes recovery middleware
-
PersistServer process terminates
-
ImpactBackend denial of service
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Exception handling completeness
|
| Exploitation Conditions | Requires a network-reachable PocketBase instance prior to 0.22.48 (0.22.x line) or 0.39.7 (0.23.0-0.39.6 line). The flaw is that PocketBase's panic-recovery middleware protects normal request handling but NOT internal child/worker goroutines: backup restore (apis/backup.go), logger init (core/base.go), jsvm hook watcher (plugins/jsvm), cron scheduler (tools/cron), s3lite uploads, and the Execute() startup routines. A panic in any of these - for example the view-query parser panicking on an unsupported wildcard '*' column (daos/view.go, also hardened in the fix) - escapes recovery and kills the process. LIMITING FACTORS: several affected paths (backup restore, view/collection creation, jsvm hooks, cron config) are reachable only by an authenticated superuser or via server configuration, so a truly unauthenticated remote trigger is not clearly demonstrated in the advisory; impact is limited to availability (process crash, restart required) with no data exposure or code execution. |
| Impact | The signals are consistent that this is a genuine but availability-only issue, not a critical one. The CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N) yields 8.7 (High) driven entirely by VA:H - there is NO confidentiality or integrity impact (VC:N/VI:N), so this is a pure denial-of-service via CWE-248 (uncaught exception). CISA SSVC tempers this: Exploitation=none (no observed active exploitation), Automatable=yes, Technical Impact=partial - a 'partial' impact and 'none' exploitation status argue against emergency prioritization. There is a tension in the data: the vendor CVSS asserts PR:N/AC:L (trivial unauthenticated trigger), yet the fixed code paths are largely internal/operator-driven goroutines - backup restore, logger init, jsvm hook watcher, cron scheduler, s3lite upload, and view-query parsing (the daos/view.go wildcard-column fix). Several of these (backup, view creation, jsvm) are superuser/admin or configuration-reachable, so a reliable unauthenticated remote panic trigger is not clearly established by the description - treat PR:N as vendor-asserted rather than confirmed. Net: real but low-to-moderate real-world priority - a crash bug, not code execution or data exposure, with no evidence of exploitation in the wild. |
| Exploit ScenarioDerived | An attacker sends input that reaches one of PocketBase's internal worker goroutines (e.g. a crafted view-collection query using a wildcard '*' column, or another path that panics) so that the panic occurs outside the HTTP panic-recovery middleware. Because the child/worker goroutine's panic is not recovered, it propagates and terminates the entire server process, taking the backend offline until restarted. The vendor security advisory and fix commits are public, so the affected code paths and the trigger conditions are documented, though no standalone weaponized exploit is referenced. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Denial of service in PocketBase versions prior to 0.22.48 (0.22.x branch) and 0.23.0 through 0.39.6 (0.23.0+ branch) allows an authenticated attacker or server misconfiguration to crash the process by triggering a panic in an internal goroutine that escapes the panic-recovery middleware. The flaw requires a network-reachable instance and low-privilege access (e.g., superuser) for the most directly reachable paths such as backup restore or view creation; public exploit code exists. Impact is limited to availability, causing process termination and requiring a restart, with no data exposure or code execution.
RemediationAI
Upgrade to PocketBase 0.22.48 (for the 0.22.x line) or 0.39.7 (for 0.23.0 and later) as released by the vendor (https://github.com/pocketbase/pocketbase/releases/tag/v0.22.48, https://github.com/pocketbase/pocketbase/releases/tag/v0.39.7). No direct workaround exists for the missing panic recovery in internal goroutines; operators can reduce exposure by restricting the PocketBase admin UI and API to trusted networks, limiting superuser accounts, and avoiding untrusted input in view/collection definitions, but these measures only reduce the attack surface and do not fully eliminate the flaw, as a panic may still be triggered by server configuration or internal events. Applying the patch is the only complete fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
PocketBase is an open-source Go backend that spawns goroutines for asynchronous tasks including backup restore (apis/backup.go), logger initialization (core/base.go), JavaScript VM hook watching (plugins/jsvm), cron scheduling (tools/cron), S3 uploads (tools/filesystem/internal/s3lite), and startup routines (pocketbase.go). The root cause is CWE-248 (Uncaught Exception): the panic-recovery middleware only wraps top-level HTTP handlers, leaving internal goroutines without deferred recover, so any panic in them terminates the whole server process. The fix introduces routine.SafeWrap to convert recovered panics into regular errors and applies it to these affected functions; the view-query parser (daos/view.go) was also hardened to reject wildcard '*' columns, which previously triggered a panic during view collection creation. The assessed CVSS 3.1 vector is AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H, reflecting a high-complexity, low-privilege attack that impacts only availability.
Know when Pocketbase gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Network-reachable but reliably reaching an unrecovered internal goroutine panic is non-trivial and most paths appear admin/config-gated, so AC:H and PR:L; impact is availability-only (A:H), no C/I.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Pocketbase is an open source web backend written in go. Prior to 0.22.48 and 0.39.7, PocketBase's panic-recovery middleware covers regular request handling but not internal child and worker goroutines. A panic in one of these internal goroutines can escape recovery and terminate the server process, causing a denial of service. The remediation introduces routine.SafeWrap to convert recovered panics into regular errors and applies it to the affected internal worker functions. This issue is fixed in versions 0.22.48 and 0.39.7.
Technical POC Analysis
Evidence caveat: the supplied material contains the GHSA-84vh-m24q-wjjx advisory, two patch diffs (30b4184305, f1618ee59b), the pre-announcement discussion #7762, and the v0.22.48 / v0.39.7 release n…
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
6 PoC candidates from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
PocketBase deployments running affected releases face service availability disruption because a network-reachable flaw can terminate the application process and require a restart. Organizations exposing PocketBase to untrusted networks or broad user populations should treat this as a priority availability risk, particularly since publicly available exploit code exists and downtime can interrupt customer-facing or internal workflows. Leadership should care because patched versions are available, but delays may leave internet-facing instances exposed to repeated crashes and operational disruption.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
EUVD-2026-80831
GHSA-84vh-m24q-wjjx
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB