Limited Authentication Bypass for Media Files in Opencast
Description
Opencast is a free and open source solution for automated video capture and distribution at scale. Prior to Opencast 10.14 and 11.7, users could pass along URLs for files belonging to organizations other than the user's own, which Opencast would then import into the current organization, bypassing organizational barriers. Attackers must have full access to Opencast's ingest REST interface, and also know internal links to resources in another organization of the same Opencast cluster. Users who do not run a multi-tenant cluster are not affected by this issue. This issue is fixed in Opencast 10.14 and 11.7.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
org.opencastproject:opencast-ingest-service-implMaven | < 10.14 | 10.14 |
org.opencastproject:opencast-ingest-service-implMaven | >= 11.0, < 11.7 | 11.7 |
Affected products
1Patches
18d5ec1614eedMerge pull request from GHSA-qm6v-cg9v-53j3
1 file changed · +1 −12
modules/ingest-service-impl/src/main/java/org/opencastproject/ingest/impl/IngestServiceImpl.java+1 −12 modified@@ -129,15 +129,13 @@ import java.util.Dictionary; import java.util.HashMap; import java.util.HashSet; -import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Objects; import java.util.Set; import java.util.UUID; import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; import javax.management.ObjectInstance; @@ -1568,16 +1566,7 @@ protected URI addContentToRepo(MediaPackage mp, String elementId, URI uri) throw try { if (uri.toString().startsWith("http")) { HttpGet get = new HttpGet(uri); - List<String> clusterUrls = new LinkedList<>(); - try { - // Note that we are not checking ports here. - clusterUrls = organizationDirectoryService.getOrganization(uri.toURL()).getServers() - .keySet() - .stream() - .collect(Collectors.toUnmodifiableList()); - } catch (NotFoundException e) { - logger.warn("Unable to determine cluster members, will not be able to authenticate any downloads from them", e); - } + var clusterUrls = securityService.getOrganization().getServers().keySet(); if (uri.toString().matches(downloadSource)) { //NB: We're creating a new client here with *different* auth than the system auth creds
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
4- github.com/advisories/GHSA-qm6v-cg9v-53j3ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2022-29237ghsaADVISORY
- github.com/opencast/opencast/commit/8d5ec1614eed109b812bc27b0c6d3214e456d4e7ghsax_refsource_MISCWEB
- github.com/opencast/opencast/security/advisories/GHSA-qm6v-cg9v-53j3ghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.