Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach Goobi viewer WebSocket endpoint
-
ExploitConnect unauthenticated to CampaignEndpoint
-
ExecutionInject forged page-lock messages
-
ImpactDisrupt crowdsourcing reviewers' workflow
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The target must run goobi-viewer-core from 4.11.0 up to (not including) 26.05 with the affected Jakarta WebSocket endpoints (DownloadTaskEndpoint, CampaignEndpoint, AutocompleteEndpoint, UserEndpoint) network-reachable; no authentication, credentials, or user interaction are required because the endpoints accept any connection without verifying the HttpSession belongs to a logged-in user and perform no Origin allowlist check (the new originValidation guard is disabled by default even after patch, so updating to 26.05 - which adds the server-side user check - is the fix). The practical LIMIT on impact is that the demonstrated CampaignEndpoint disruption only matters where crowdsourcing campaigns are actively in use by reviewers whose lock state can be polluted; environments not using crowdsourcing see little effect, and the overall impact is confined to workflow integrity rather than system compromise. The lack of Origin validation additionally exposes logged-in users to cross-site WebSocket hijacking (CSWSH) if they visit an attacker-controlled page. |
| Impact | This is a real-but-moderate priority, not a high-CVSS-but-trivial issue and not an emergency. The CVSS:3.1 vector (AV:N/AC:L/PR:N/UI:N) confirms network-reachable, low-complexity, unauthenticated exploitation with no user interaction, which legitimately elevates exposure; CWE-306 (missing authentication) is corroborated by the GHSA advisory and the patch commit, which adds a server-side requireUser check to CampaignEndpoint. However, the impact is bounded (C:L/I:L/A:N): the concrete demonstrated effect is polluting an in-process crowdsourcing page-lock map and broadcasting forged lock messages to disrupt reviewers - a workflow-integrity nuisance rather than code execution, data theft, or outage. No EPSS score was supplied, so exploitation probability cannot be quantified; the CVE is not in CISA KEV, and no public exploit or PoC reference is present in the input, so there is no public exploit identified at time of analysis. The vuln.today Decision label is 'this_month' (not act_now/emergency), consistent with these signals. The most important risk amplifier is cross-source: the advisory explicitly notes the same unauthenticated DownloadTaskEndpoint underlies a separately-advised SSRF/LFI chain (GHSA-79jg-3m2m-jgc8), so this authentication gap is the shared root cause of a more serious issue tracked elsewhere. No signals conflict; the main gap is the absence of EPSS/KEV/PoC data, meaning likelihood is inferred from the vector rather than measured. |
| Exploit ScenarioDerived | An unauthenticated attacker with network reachability to a Goobi viewer instance (versions 4.11.0 up to before 26.05) opens a Jakarta WebSocket connection to CampaignEndpoint without any valid logged-in session. Because the endpoint does not verify the HttpSession belongs to an authenticated user and does not validate the Origin header, the attacker injects forged page-lock messages that pollute the in-process crowdsourcing lock map, locking pages reviewers need and broadcasting spurious lock state to disrupt their work. No public exploit code is identified at time of analysis, and the low attack complexity (AC:L) means no special timing or preconditions are required beyond reaching the endpoint. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 23, 2026
Missing server-side authentication on four Jakarta WebSocket endpoints in goobi-viewer-core (DownloadTaskEndpoint, CampaignEndpoint, AutocompleteEndpoint, UserEndpoint) lets any remote client open a connection without proving its HttpSession belongs to a logged-in user; versions 4.11.0 through 26.05 are affected. Through CampaignEndpoint an unauthenticated party can pollute the in-process crowdsourcing page-lock map and broadcast forged lock messages, disrupting reviewers working in active crowdsourcing campaigns, and because no endpoint checks the Origin header, logged-in users who visit an attacker-controlled page are exposed to cross-site WebSocket hijacking. Impact is confined to workflow integrity and limited confidentiality rather than system compromise, no public exploit was identified at time of analysis, and the vendor has released a patch in version 26.05.
RemediationAI
Upgrade goobi-viewer-core to 26.05 or later, which is the fixed release (https://github.com/intranda/goobi-viewer-core/releases/tag/v26.05, commit 8714ca81065d2c2c6e614a1ee6753de65cbe3412) and adds the server-side user check plus campaign lock authorization. After upgrading, optionally enable webapi.websocket.originValidation[@enabled] to activate the handshake Origin allowlist for additional cross-site WebSocket hijacking protection - it is disabled by default, so upgrading alone does not turn on that guard; the allowlist reuses the viewer base URL and csrfAdditionalAllowedOrigins, so any legitimate reverse proxy or alternate hostname must be listed or those clients' WebSocket connections will be rejected. If upgrading immediately is not possible, restrict network reachability of the WebSocket endpoints to trusted networks or place them behind an authenticating proxy, accepting that download-progress, autocomplete and campaign page-lock features will break for clients that cannot reach them. Review deployments for the related DownloadTaskEndpoint issue in GHSA-79jg-3m2m-jgc8 as part of the same upgrade.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Goobi viewer is a Java/Maven digitisation presentation platform (io.goobi.viewer:viewer-core) built on the Jakarta WebSocket API. Its @ServerEndpoint classes perform the HTTP-upgrade handshake but never verify that the HttpSession carried in the handshake belongs to an authenticated user, the classic CWE-306 missing authentication for a critical function; the advisory also assigns CWE-862 (missing authorization) and CWE-1385 (cross-site WebSocket hijacking). Because the handshake does not validate the Origin header against an allowlist, a browser page on any origin can initiate the upgrade using a victim's ambient session cookies, which is the CSWSH vector. The commit 8714ca81065d2c2c6e614a1ee6753de65cbe3412 introduces a WebSocketTools.requireAllowedOrigin handshake guard and reuses the existing CSRFRequestFilter origin allowlist (viewer base URL plus csrfAdditionalAllowedOrigins) via newly public isAllowedOrigin/normalizeOrigin helpers, adds a WebSocketTools.requireUser check that rejects sessions without a logged-in User, and adds an authorization test (mayLockPagesIn) in CampaignEndpoint so only superusers, campaign editors, and users permitted to annotate or review a campaign may set page locks; unauthorized attempts receive a notify__crowdsourcing_not_allowed warning instead. Notably the new origin guard is controlled by webapi.websocket.originValidation[@enabled] and defaults to false, so the origin check is optional defense-in-depth while the server-side user check is the actual fix.
Know when Goobi Viewer Core 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
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Endpoints accept unauthenticated network connections with no interaction (AV:N/AC:L/PR:N/UI:N); forged lock pollution gives limited integrity and some data exposure (I:L/C:L), with no direct availability loss (A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
The Goobi viewer is a web application that allows digitised material to be displayed in a web browser. From version 4.11.0 to before version 26.05, several Jakarta WebSocket endpoints in goobi-viewer-core (DownloadTaskEndpoint, CampaignEndpoint, AutocompleteEndpoint, UserEndpoint) accept connections without verifying that the associated HttpSession belongs to a logged-in user, and none validate the Origin header against an allowlist. An unauthenticated attacker can therefore connect to these endpoints; through CampaignEndpoint this allows polluting the in-process crowdsourcing page-lock map and broadcasting forged lock messages, disrupting reviewers' work. This issue has been patched in version 26.05.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Goobi Viewer Core
View allUnauthenticated path traversal in Goobi viewer allows a malicious HTTP server to supply an absolute path or ../ sequence
Goobi viewer 24.03 through 26.04 exposes the DownloadTaskEndpoint WebSocket at /tasks/download/monitor.socket to unauthe
Reflected cross-site scripting in the IIIF Auth 2.0 endpoints auth/login and auth/token of Goobi Viewer Core (maven io.g
OpenID Connect login in Goobi viewer 25.01 through 26.04 validates the JWT audience outside the cryptographic verifier,
Goobi Viewer deployments that leave webapi.authorization.token unset accept an empty ?token= value on every @Authorizati
Predictable replacement-password generation in Goobi Viewer Core (Maven io.goobi.viewer:viewer-core) before 26.05 lets a
Unauthenticated remote attackers can force a password reset on any Goobi Viewer Core account prior to 26.05 because the
In Goobi Viewer Core before version 4.8.3, a path traversal vulnerability allows for remote attackers to access files on
The Goobi viewer is a web application that allows digitised material to be displayed in a web browser. Rated medium seve
The Goobi viewer is a web application that allows digitised material to be displayed in a web browser. Rated medium seve
The Goobi viewer is a web application that allows digitised material to be displayed in a web browser. Rated medium seve
Unauthenticated Solr query injection in the Goobi viewer spatial search endpoint (GET /api/v1/index/{solrField}/spatial/
EUVD-2026-109065
NVD
CVE.org
EPSS
GitHub
Exploit-DB