Skip to main content

Goobi Viewer Core CVE-2026-46346

| EUVDEUVD-2026-109085 MEDIUM
Use of Insufficiently Random Values (CWE-330)
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
    Obtain target's registered email
  2. Exploit
    Submit password reset request
  3. Execution
    Brute-force time-based activation token
  4. Impact
    Force unauthorized password reset / account lockout

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Cryptographic random values
Exploitation Conditions

The attacker must know the target account's registered email address and must be able to reach the /user/resetpw/ reset endpoint, which is exposed by default. No authentication, privileges, or user interaction are required, and no non-default configuration is needed - the token for any version prior to 26.05 is predictably derived from the request time (System.currentTimeMillis()). What LIMITS exploitation: the impact of this flaw in isolation is confined to forcing a password reset and locking the victim out of their account - it does not by itself reveal the new password or grant access. Full account takeover requires chaining with CVE-2026-46347. The vendor's only complete fix is updating to 26.05; as a temporary workaround the advisory states the /user/resetpw/ endpoint can be blocked via a reverse proxy, Apache httpd LocationMatch, or a Tomcat web.xml security-constraint, which disables password reset for all users.

Impact

The CVSS base score is 6.5 (Medium) with vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L - network-reachable, low complexity, no privileges and no user interaction, so unauthenticated remote attackers can trigger it. However, the impact is deliberately scoped as C:N/I:L/A:L: exploiting this flaw alone only forces an unauthorized password reset, which changes the victim's password and locks them out (integrity/availability) but does not grant the attacker access. No EPSS score was supplied, the CVE is not listed in CISA KEV, and no public exploit reference is present, so there is no signal of active or widespread exploitation. The vuln.today Decision label is this_month (not act_now or emergency), which is consistent with the medium severity and absent exploitation signals. The most important risk amplifier is explicitly stated in the vendor advisory: chained with GHSA-hw9w-7r6g-2fjc (CVE-2026-46347) this becomes full unauthenticated account takeover at a combined CVSS of 9.1 (Critical). Treat it as a real but non-emergency priority on its own, with elevated urgency wherever CVE-2026-46347 is also unpatched.

Exploit ScenarioDerived

An attacker who knows a victim's registered email address submits a password-reset request to the Goobi viewer, then brute-forces the activation token because it is derived from System.currentTimeMillis() at the moment of the request (a value the attacker effectively controls by timing their own request). Succeeding forces a password reset on the victim's account, locking them out; no public exploit code was identified at time of analysis. If the companion vulnerability CVE-2026-46347 is also present, the same flow escalates to full account takeover.

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

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

Alert me

AnalysisAIv1 – Oct 23, 2026

Unauthenticated remote attackers can force a password reset on any Goobi Viewer Core account prior to 26.05 because the reset token is derived predictably from the request timestamp. An attacker who knows the target's registered email address and can reach the exposed /user/resetpw/ endpoint can brute-force the token and invalidate the account password, locking the victim out. The flaw does not by itself disclose the new password or grant access; full unauthenticated account takeover requires chaining it with CVE-2026-46347. No confirmed public exploit code and no CISA KEV status were identified at time of analysis. The vendor-released fix is version 26.05.

RemediationAI

Upgrade Goobi Viewer Core to version 26.05, which is the vendor-released patch; the fixing commit is 9c2c83f00f497c11ab6aaa0bd5a68173cd446eef and the release is at https://github.com/intranda/goobi-viewer-core/releases/tag/v26.05, with details in advisory GHSA-gj5g-4rxf-8rmq. If updating is not immediately possible, the advisory states the /user/resetpw/ endpoint should be blocked, for example with an Apache httpd vhost LocationMatch rule denying access to ^.*user/resetpw/.*$, or with a Tomcat web.xml security-constraint covering /user/resetpw/ and /user/resetpw/*; both workarounds disable the password reset function completely for all users. The vendor identifies updating to 26.05 as the only complete fix, and the impact of this issue in isolation is limited to forcing a reset and locking the victim out, with full account takeover requiring chaining with CVE-2026-46347.

Affected VersionsENISA

goobi-viewer-core < 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

The root cause is CWE-330 (use of insufficiently random values), with the advisory also classifying it as CWE-340 (generation of predictable numbers or identifiers) and CWE-640 (weak password recovery mechanism for forgotten password). In the affected Java code, UserBean.sendPasswordResetLinkAction() built the account activation key via StringTools.generateHash(String.valueOf(System.currentTimeMillis())), so the reset token was a hash of the reset request time, and resetPasswordAction() generated a new password from the same millisecond-derived value. The patch replaces both derivations with java.security.SecureRandom: a 32-byte random token formatted as hex for the activation key, and a 4-byte random value formatted as hex for the generated password. The affected Maven artifact is io.goobi.viewer:viewer-core below 26.05, matching CPE cpe:2.3:a:intranda:goobi-viewer-core. The assessed vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L confirms a network-reachable, low-complexity issue requiring no privileges and no user interaction; the trigger is the standard password reset request against /user/resetpw/, which is exposed by default.

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:N/I:L/A:L
vuln.today AI 6.5 MEDIUM

Remote unauthenticated reset request with an attacker-timed, brute-forceable token gives AV:N/AC:L/PR:N/UI:N; alone it only changes the password and locks out the user, so C:N/I:L/A:L.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/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
None
Integrity
Low
Availability
Low

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. Prior to version 26.05, the password reset token is predictably based on the time of the reset request. An attacker who knows the target's email address can request a reset and then brute-force the token. Exploiting this finding alone forces an unauthorized password reset on any account. This issue has been patched in version 26.05.

Threat Intelligence Overview

EPSS Score
0.5%
Top 61% exploitable
Prevalence
Low
niche digital-library viewer used mainly by archives and 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.5%
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
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

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-55463 MEDIUM
6.5 Oct 23

Missing server-side authentication on four Jakarta WebSocket endpoints in goobi-viewer-core (DownloadTaskEndpoint, Campa

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