### Summary The Goobi viewer REST endpoint `POST /api/v1/index/stream` accepted an arbitrary Solr streaming expression from unauthenticated network clients and forwarded it to the backend Solr server without restriction. An attacker could read the complete Solr index and, in default Solr deployments, also modify or delete indexed records. The API endpoint has now been removed. ### Impact - **Complete Solr index read without authentication.** All documents indexed by the viewer including those protected by access conditions such as moving walls, licence requirements or IP restrictions - can be read in full. - **Index data modification.** `update()` streaming expressions overwrite indexed field values. An attacker can alter metadata, change `ACCESSCONDITION` values, or corrupt document structure. - **Index data deletion.** `delete()` streaming expressions permanently remove documents. A single expression can delete the entire collection, requiring a full re-index to recover. ### Patches The endpoint was removed in 326980f24c ### Workarounds Until an update can be deployed, the endpoint should be blocked by a reverse proxy or in the tomcat configuration. For Apache httpd the following block can be used in the vhost configuration: ``` <LocationMatch ^.*api/v[12]/index/stream.*$> Require all denied </LocationMatch> ``` Alternatively the following security constraint can be added in tomcat via the relevant web.xml: ``` <security-constraint> <web-resource-collection> <web-resource-name>blocked endpoint</web-resource-name> <url-pattern>/api/v1/index/stream</url-pattern> <url-pattern>/api/v1/index/stream/*</url-pattern> </web-resource-collection> <auth-constraint/> </security-constraint> ``` ### References - Fix commit: 326980f24c - Introducing commit: 6bfb1cbd42 - [Solr Streaming Expressions reference](https://solr.apache.org/guide/solr/latest/query-guide/streaming-expressions.html) ### Contact If you have any questions or comments about this advisory: - Email us at [[email protected]](mailto:[email protected])
### Summary The Goobi viewer REST endpoint `POST /api/v1/index/stream` accepted an arbitrary Solr streaming expression from unauthenticated network clients and forwarded it to the backend Solr server without restriction. An attacker could read the complete Solr index and, in default Solr deployments, also modify or delete indexed records. The API endpoint has now been removed. ### Impact - **Complete Solr index read without authentication.** All documents indexed by the viewer including those protected by access conditions such as moving walls, licence requirements or IP restrictions - can be read in full. - **Index data modification.** `update()` streaming expressions overwrite indexed field values. An attacker can alter metadata, change `ACCESSCONDITION` values, or corrupt document structure. - **Index data deletion.** `delete()` streaming expressions permanently remove documents. A single expression can delete the entire collection, requiring a full re-index to recover. ### Patches The endpoint was removed in 326980f24c ### Workarounds Until an update can be deployed, the endpoint should be blocked by a reverse proxy or in the tomcat configuration. For Apache httpd the following block can be used in the vhost configuration: ``` <LocationMatch ^.*api/v[12]/index/stream.*$> Require all denied </LocationMatch> ``` Alternatively the following security constraint can be added in tomcat via the relevant web.xml: ``` <security-constraint> <web-resource-collection> <web-resource-name>blocked endpoint</web-resource-name> <url-pattern>/api/v1/index/stream</url-pattern> <url-pattern>/api/v1/index/stream/*</url-pattern> </web-resource-collection> <auth-constraint/> </security-constraint> ``` ### References - Fix commit: 326980f24c - Introducing commit: 6bfb1cbd42 - [Solr Streaming Expressions reference](https://solr.apache.org/guide/solr/latest/query-guide/streaming-expressions.html) ### Contact If you have any questions or comments about this advisory: - Email us at [[email protected]](mailto:[email protected])
Monitor this advisory for an available fix and review any installs of the affected package.
Local check
hol-guard supply-chain scanGoobi viewer - Core: Unauthenticated Solr Streaming Expression Proxy affects io.goobi.viewer:viewer-core (maven). Severity is critical. ### Summary The Goobi viewer REST endpoint `POST /api/v1/index/stream` accepted an arbitrary Solr streaming expression from unauthenticated network clients and forwarded it to the backend Solr server without restriction. An attacker could read the complete Solr index and, in default Solr deployments, also modify or delete indexed records. The API endpoint has now been removed. ### Impact - **Complete Solr index read without authentication.** All documents indexed by the viewer including those protected by access conditions such as moving walls, licence requirements or IP restrictions - can be read in full. - **Index data modification.** `update()` streaming expressions overwrite indexed field values. An attacker can alter metadata, change `ACCESSCONDITION` values, or corrupt document structure. - **Index data deletion.** `delete()` streaming expressions permanently remove documents. A single expression can delete the entire collection, requiring a full re-index to recover. ### Patches The endpoint was removed in 326980f24c ### Workarounds Until an update can be deployed, the endpoint should be blocked by a reverse proxy or in the tomcat configuration. For Apache httpd the following block can be used in the vhost configuration: ``` <LocationMatch ^.*api/v[12]/index/stream.*$> Require all denied </LocationMatch> ``` Alternatively the following security constraint can be added in tomcat via the relevant web.xml: ``` <security-constraint> <web-resource-collection> <web-resource-name>blocked endpoint</web-resource-name> <url-pattern>/api/v1/index/stream</url-pattern> <url-pattern>/api/v1/index/stream/*</url-pattern> </web-resource-collection> <auth-constraint/> </security-constraint> ``` ### References - Fix commit: 326980f24c - Introducing commit: 6bfb1cbd42 - [Solr Streaming Expressions reference](https://solr.apache.org/guide/solr/latest/query-guide/streaming-expressions.html) ### Contact If you have any questions or comments about this advisory: - Email us at [[email protected]](mailto:[email protected])
AI coding agents often install or upgrade packages automatically in maven. A critical vulnerability in a dependency can be pulled into a project through a normal install or update without a human reviewing the change, expanding the blast radius from a single package to every agent workspace that depends on it.
| Package | Affected range | Fixed version |
|---|---|---|
| io.goobi.viewer:viewer-coremaven | >=4.8.0,<=26.04 | Not reported |
Reported by GitHub Security Advisories (ghsa).
HOL Guard can help your team review package activity against supported protection paths.
Explore HOL GuardMonitor this advisory for an available fix and review any installs of the affected package.
Local check
hol-guard supply-chain scanGoobi viewer - Core: Unauthenticated Solr Streaming Expression Proxy affects io.goobi.viewer:viewer-core (maven). Severity is critical. ### Summary The Goobi viewer REST endpoint `POST /api/v1/index/stream` accepted an arbitrary Solr streaming expression from unauthenticated network clients and forwarded it to the backend Solr server without restriction. An attacker could read the complete Solr index and, in default Solr deployments, also modify or delete indexed records. The API endpoint has now been removed. ### Impact - **Complete Solr index read without authentication.** All documents indexed by the viewer including those protected by access conditions such as moving walls, licence requirements or IP restrictions - can be read in full. - **Index data modification.** `update()` streaming expressions overwrite indexed field values. An attacker can alter metadata, change `ACCESSCONDITION` values, or corrupt document structure. - **Index data deletion.** `delete()` streaming expressions permanently remove documents. A single expression can delete the entire collection, requiring a full re-index to recover. ### Patches The endpoint was removed in 326980f24c ### Workarounds Until an update can be deployed, the endpoint should be blocked by a reverse proxy or in the tomcat configuration. For Apache httpd the following block can be used in the vhost configuration: ``` <LocationMatch ^.*api/v[12]/index/stream.*$> Require all denied </LocationMatch> ``` Alternatively the following security constraint can be added in tomcat via the relevant web.xml: ``` <security-constraint> <web-resource-collection> <web-resource-name>blocked endpoint</web-resource-name> <url-pattern>/api/v1/index/stream</url-pattern> <url-pattern>/api/v1/index/stream/*</url-pattern> </web-resource-collection> <auth-constraint/> </security-constraint> ``` ### References - Fix commit: 326980f24c - Introducing commit: 6bfb1cbd42 - [Solr Streaming Expressions reference](https://solr.apache.org/guide/solr/latest/query-guide/streaming-expressions.html) ### Contact If you have any questions or comments about this advisory: - Email us at [[email protected]](mailto:[email protected])
AI coding agents often install or upgrade packages automatically in maven. A critical vulnerability in a dependency can be pulled into a project through a normal install or update without a human reviewing the change, expanding the blast radius from a single package to every agent workspace that depends on it.
| Package | Affected range | Fixed version |
|---|---|---|
| io.goobi.viewer:viewer-coremaven | >=4.8.0,<=26.04 | Not reported |
Reported by GitHub Security Advisories (ghsa).
HOL Guard can help your team review package activity against supported protection paths.
Explore HOL Guard