Skip to main content

Goobi Viewer Core EUVDEUVD-2026-109065

| CVE-2026-55463 MEDIUM
Missing Authentication for Critical Function (CWE-306)
2026-10-23 GitHub_M
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Reach Goobi viewer WebSocket endpoint
  2. Exploit
    Connect unauthenticated to CampaignEndpoint
  3. Execution
    Inject forged page-lock messages
  4. Impact
    Disrupt 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

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

goobi-viewer-core 4.11.0, < 26.05

Affected Packages

euvd goobi_viewer_core fix: 26.05

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

Vendor (GitHub_M) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
vuln.today AI 6.5 MEDIUM

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

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Oct 23, 2026 - 15:02 EUVD

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

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
niche digital-library/archive software for cultural-heritage institutions
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2026-46652 CRITICAL
9.8 Oct 23

Unauthenticated path traversal in Goobi viewer allows a malicious HTTP server to supply an absolute path or ../ sequence

CVE-2026-46651 CRITICAL
9.8 Oct 23

Goobi viewer 24.03 through 26.04 exposes the DownloadTaskEndpoint WebSocket at /tasks/download/monitor.socket to unauthe

CVE-2026-55486 CRITICAL
9.3 Oct 23

Reflected cross-site scripting in the IIIF Auth 2.0 endpoints auth/login and auth/token of Goobi Viewer Core (maven io.g

CVE-2026-55459 HIGH
7.4 Oct 23

OpenID Connect login in Goobi viewer 25.01 through 26.04 validates the JWT audience outside the cryptographic verifier,

CVE-2026-55457 HIGH
7.4 Oct 23

Goobi Viewer deployments that leave webapi.authorization.token unset accept an empty ?token= value on every @Authorizati

CVE-2026-46347 MEDIUM
6.8 Oct 23

Predictable replacement-password generation in Goobi Viewer Core (Maven io.goobi.viewer:viewer-core) before 26.05 lets a

CVE-2026-46346 MEDIUM
6.5 Oct 23

Unauthenticated remote attackers can force a password reset on any Goobi Viewer Core account prior to 26.05 because the

CVE-2020-15124 MEDIUM
6.5 Jul 22

In Goobi Viewer Core before version 4.8.3, a path traversal vulnerability allows for remote attackers to access files on

CVE-2023-29016 MEDIUM
6.1 Apr 06

The Goobi viewer is a web application that allows digitised material to be displayed in a web browser. Rated medium seve

CVE-2023-29015 MEDIUM
6.1 Apr 06

The Goobi viewer is a web application that allows digitised material to be displayed in a web browser. Rated medium seve

CVE-2023-29014 MEDIUM
6.1 Apr 06

The Goobi viewer is a web application that allows digitised material to be displayed in a web browser. Rated medium seve

CVE-2026-55465 MEDIUM
5.3 Oct 23

Unauthenticated Solr query injection in the Goobi viewer spatial search endpoint (GET /api/v1/index/{solrField}/spatial/

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