Skip to main content

PocketBase EUVDEUVD-2026-80831

| CVE-2026-82410 HIGH
Uncaught Exception (CWE-248)
2026-09-16 GitHub_M GHSA-84vh-m24q-wjjx
8.7
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach network-exposed PocketBase endpoint
  2. Delivery
    Submit input hitting an internal worker goroutine
  3. Exploit
    Trigger unrecovered panic (e.g. view wildcard column)
  4. Execution
    Panic escapes recovery middleware
  5. Persist
    Server process terminates
  6. Impact
    Backend 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
6 PoC candidates (unverified) Patch available 0.6% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

pocketbase < 0.22.48
pocketbase 0.23.0, < 0.39.7

Affected Packages

go github.com/pocketbase/pocketbase fix: 0.22.48, 0.39.7
euvd pocketbase fix: 0.22.48, 0.39.7

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

Vendor (GitHub_M) PRIMARY 8.7 HIGH
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
vuln.today AI 5.3 MEDIUM

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.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 16, 2026 - 16:04 EUVD
CVE Published
Sep 16, 2026 - 14:59 cve.org
HIGH 8.7

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.6%
Top 54% exploitable
Prevalence
Medium
popular open-source Go backend, common in indie/small-project deployments, not enterprise-ubiquitous
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

65
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy