Goobi Viewer Unauthenticated Solr Streaming Expression Proxy Vulnerability
The Goobi viewer REST endpoint accepted an arbitrary Solr streaming expression from unauthenticated network clients, enabling attackers to read, modify, or delete the complete Solr index; this was resolved by removing the affected API endpoint.
The Goobi viewer is vulnerable to an unauthenticated Solr streaming expression proxy issue. Specifically, the REST endpoint POST /api/v1/index/stream was accepting arbitrary Solr streaming expressions from unauthenticated network clients and forwarding them to the backend Solr server without any restrictions. This vulnerability, present in versions 4.8.0 up to and including 26.04, allowed attackers to potentially read the entire Solr index and modify or delete indexed records. The vulnerability has been addressed by removing the affected API endpoint in commit 326980f24c. This vulnerability matters because it could lead to complete data loss or unauthorized disclosure of sensitive data. The CVE assigned to this vulnerability is CVE-2026-45083.
Attack Chain
- An unauthenticated attacker sends a POST request to
/api/v1/index/streamon the Goobi viewer server. - The attacker crafts a malicious Solr streaming expression within the body of the POST request.
- The Goobi viewer forwards the attacker-supplied Solr streaming expression to the backend Solr server.
- The Solr server executes the streaming expression without proper authorization checks due to the exposed proxy endpoint.
- Using
select()the attacker reads the content of the Solr index, including documents protected by access conditions. - The attacker uses
update()streaming expressions to overwrite indexed field values, potentially changing metadata or access conditions. - Alternatively, the attacker uses
delete()streaming expressions to remove documents from the index. - If delete is used, the attacker can wipe the entire collection, leading to a denial of service.
Impact
Successful exploitation of this vulnerability could result in the complete disclosure of all documents indexed by the Goobi viewer, including those protected by access conditions. Attackers could also modify metadata, change access conditions, or corrupt the document structure. A single delete() expression can permanently remove documents, potentially leading to complete data loss and requiring a full re-index of the Solr collection. This vulnerability impacts organizations that rely on Goobi viewer to manage and serve sensitive documents.
Recommendation
- Apply the patch provided in commit 326980f24c to remove the vulnerable endpoint.
- As an immediate workaround, block access to the
/api/v1/index/streamendpoint using a reverse proxy or Tomcat configuration as detailed in the advisory to prevent exploitation. - Deploy the Sigma rule “Detect Goobi Viewer Solr Streaming Expression Attempt” to identify potential exploitation attempts targeting the vulnerable endpoint.
Detection coverage 2
Detect Goobi Viewer Solr Streaming Expression Attempt
highDetects CVE-2026-45083 exploitation — Attempts to access the /api/v1/index/stream endpoint, indicating a potential Solr streaming expression injection attack
Detect Goobi Viewer Solr Streaming Expression Blocked Attempt
mediumDetects attempts to access the /api/v1/index/stream endpoint after a block is in place, indicated by a 403 or 405 status code
Detection queries are available on the platform. Get full rules →