CVE-2024-52797 Searching Opencast may cause a denial of service
Attackers with admin or API view roles can trigger infinite retry loops via invalid search queries, causing disk exhaustion and denial of service.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-52797?
CVE-2024-52797 is a medium-severity denial of service vulnerability in opencast, published on 21 Nov 2024. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
Opencast is free and open source software for automated video capture and distribution. First noticed in Opencast 13 and 14, Opencast's Elasticsearch integration may generate syntactically invalid Elasticsearch queries in relation to previously acceptable search queries. From Opencast version 11.4 and newer, Elasticsearch queries are retried a configurable number of times in the case of error to handle temporary losses of connection to Elasticsearch. These invalid queries would fail, causing the retry mechanism to begin requerying with the same syntactically invalid query immediately, in an infinite loop. This causes a massive increase in log size which can in some cases cause a denial of service due to disk exhaustion.
Opencast 13.10 and Opencast 14.3 contain patches which address the base issue, with Opencast 16.7 containing changes which harmonize the search behaviour between the admin UI and external API. Users are strongly recommended to upgrade as soon as possible if running versions prior to 13.10 or 14.3. While the relevant endpoints require (by default) `ROLE_ADMIN` or `ROLE_API_SERIES_VIEW`, the problem queries are otherwise innocuous. This issue could be easily triggered by normal administrative work on an affected Opencast system. Those who run a version newer than 13.10 and 14.3 and see different results when searching in their admin UI vs your external API or LMS, may resolve the issue by upgrading to 16.7. No known workarounds for the vulnerability are available.
Weakness: CWE-770
Which versions are affected by CVE-2024-52797?
6 open source packages ship an affected version, including org.opencastproject:opencast-elasticsearch-impl. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
org.opencastproject:opencast-elasticsearch-impl Maven | From 11.4 | 13.10 |
org.opencastproject:opencast-elasticsearch-impl Maven | From 11.4 | 13.10 |
org.opencastproject:opencast-elasticsearch-impl Maven | From 14.0 | 14.3 |
org.opencastproject:opencast-elasticsearch-impl Maven | From 14.0 | 14.3 |
org.opencastproject:opencast-elasticsearch-impl Maven | From 15.0 | 16.7 |
org.opencastproject:opencast-elasticsearch-impl Maven | From 15.0 | 16.7 |
Products include Apereo Opencast.
How do I fix CVE-2024-52797?
Upgrade org.opencastproject:opencast-elasticsearch-impl to a fixed version for your release line: 13.10, 14.3 or 16.7.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2024-52797 being exploited?
There is no known exploitation of CVE-2024-52797 in the wild and no public exploit code.
Other vulnerabilities in opencast
- CVE-2021-43821 Files Accessible to External Parties in Opencast
- CVE-2020-5206 Authentication Bypass For Endpoints With Anonymous Access in OpenCast
- CVE-2021-32623 Opencast vulnerable to billion laughs attack (XML bomb)
- CVE-2020-5229 Opencast stores passwords using outdated MD5 hash algorithm
- CVE-2020-5230 Opencast uses unsafe identifiers
Sources
Also known as GHSA-jh6x-7xfg-9cq2.