Skip to content

Searching Opencast may cause a denial of service

Moderate severity GitHub Reviewed Published Nov 20, 2024 in opencast/opencast • Updated Nov 21, 2024

Package

maven org.opencastproject:opencast-elasticsearch-impl (Maven)

Affected versions

>= 14.0, < 14.3
>= 15.0, <= 16.6
>= 11.4, < 13.10

Patched versions

14.3
13.10

Description

Impact

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.

Patches

Opencast 13.10 and Opencast 14.3 contain patches (opencast/opencast#5150, and opencast/opencast#5033) 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. If you are running a version newer than 13.10 and 14.3 and seeing different results when searching in your admin UI vs your external API or LMS, upgrading to 16.7 should resolve the issue.

Workarounds

None identified.

References

Pull Requests

If you have any questions or comments about this advisory:

Open an issue in our issue tracker
Email us at [email protected]

Credit

Credit to Adilagha Aliyev of Graz University of Technology, Educational Technologies, [email protected]

References

@lkiesow lkiesow published to opencast/opencast Nov 20, 2024
Published to the GitHub Advisory Database Nov 20, 2024
Reviewed Nov 20, 2024
Last updated Nov 21, 2024

Severity

Moderate

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

EPSS score

0.045%
(17th percentile)

Weaknesses

CVE ID

CVE-2024-52797

GHSA ID

GHSA-jh6x-7xfg-9cq2

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.