Security advisory
Opencast before 8.1 and 7.6 allows almost arbitrary identifiers for media packages and elements to be used. This can be problematic for operation and security since such identifiers are sometimes used for file system operations which may lead to an attacker being able to escape working directories and write files to other locations. In addition, Opencast's Id.toString(…) vs Id.compact(…) behavior, the latter trying to mitigate some of the file system problems, can cause errors due to identifier mismatch since an identifier may unintentionally change. This issue is fixed in Opencast 7.6 and 8.1.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2020-5230
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 12:41 UTC · Revision 1
Source evidence
Opencast before 8.1 and 7.6 allows almost arbitrary identifiers for media packages and elements to be used. This can be problematic for operation and security since such identifiers are sometimes used for file system operations which may lead to an attacker being able to escape working directories and write files to other locations. In addition, Opencast's Id.toString(…) vs Id.compact(…) behavior, the latter trying to mitigate some of the file system problems, can cause errors due to identifier mismatch since an identifier may unintentionally change. This issue is fixed in Opencast 7.6 and 8.1.
osv:CVE-2020-5230
Complete source record
{
"id": "ddbe2f2863ad6c714ae8fbc285e157d4a51a5949f73f7a82080bef24842ae842",
"url": "https://osv.dev/vulnerability/CVE-2020-5230",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2020-5230",
"summary": "Opencast before 8.1 and 7.6 allows almost arbitrary identifiers for media packages and elements to be used. This can be problematic for operation and security since such identifiers are sometimes used for file system operations which may lead to an attacker being able to escape working directories and write files to other locations. In addition, Opencast's Id.toString(…) vs Id.compact(…) behavior, the latter trying to mitigate some of the file system problems, can cause errors due to identifier mismatch since an identifier may unintentionally change. This issue is fixed in Opencast 7.6 and 8.1.",
"evidence": "osv:CVE-2020-5230",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2020-5230",
"aliases": [
"CVE-2020-5230",
"GHSA-w29m-fjp4-qhmq"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/opencast/opencast",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "6241ba154a6b364fea1928e52f8bf2a432934dc8"
},
{
"introduced": "5bb6a93a43a7f7c47f789e46e4018c80b8c54c8b"
},
{
"last_affected": "5bb6a93a43a7f7c47f789e46e4018c80b8c54c8b"
},
{
"fixed": "bbb473f34ab95497d6c432c81285efb0c739f317"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:apereo:opencast:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "7.6"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:apereo:opencast:8.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "8.0"
},
{
"last_affected": "8.0"
}
],
"source": "CPE_STRING"
},
{
"range": [
{
"fixed": "bbb473f34ab95497d6c432c81285efb0c739f317"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"8.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-5230.json",
"vanir_signatures": [
{
"id": "CVE-2020-5230-0b80ab61",
"digest": {
"length": 51,
"function_hash": "216190859915552726671707505792069809036"
},
"source": "https://github.com/opencast/opencast/commit/bbb473f34ab95497d6c432c81285efb0c739f317",
"target": {
"file": "modules/common/src/main/java/org/opencastproject/mediapackage/identifier/IdImpl.java",
"function": "IdImpl"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CVE-2020-5230-3430a2ea",
"digest": {
"threshold": 0.9,
"line_hashes": [
"73158565843399564860828732441292758002",
"226851973213465726000406202140222435355",
"142530729630901758211176474010030465041",
"225589291142681575013023594369129510004",
"21457923428656999645782057042364804297",
"161556562876718430804090222177043821458",
"72402404511538037481975210434537328138",
"269741042779162491642504432386112334079"
]
},
"source": "https://github.com/opencast/opencast/commit/bbb473f34ab95497d6c432c81285efb0c739f317",
"target": {
"file": "modules/ingest-service-impl/src/main/java/org/opencastproject/ingest/endpoint/IngestRestService.java"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CVE-2020-5230-43a6cc77",
"digest": {
"length": 4364,
"function_hash": "146697880931529684172930331714821880134"
},
"source": "https://github.com/opencast/opencast/commit/bbb473f34ab95497d6c432c81285efb0c739f317",
"target": {
"file": "modules/ingest-service-impl/src/main/java/org/opencastproject/ingest/endpoint/IngestRestService.java",
"function": "addMediaPackage"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CVE-2020-5230-75faba8d",
"digest": {
"threshold": 0.9,
"line_hashes": [
"133596038857241399085537718849488557237",
"207770760516590117897371367554099375719",
"129404561395784555879427726795327538628",
"305201457301659893137373711172825226109",
"317798760297441477962677468115773845707",
"50075764870067004774974241489591083259",
"3084347032606933625036131438307832692",
"95791829242473518132972406393860438328",
"318832727447354205616868587621112000565",
"57929422994237807717264742445782446299",
"181230684369697288866623801503337301054",
"65303256150263420827622569286992724657"
]
},
"source": "https://github.com/opencast/opencast/commit/bbb473f34ab95497d6c432c81285efb0c739f317",
"target": {
"file": "modules/common/src/main/java/org/opencastproject/mediapackage/identifier/IdImpl.java"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
},
{
"id": "CVE-2020-5230-8337bb50",
"digest": {
"length": 87,
"function_hash": "162570788934587347791102363068513625885"
},
"source": "https://github.com/opencast/opencast/commit/bbb473f34ab95497d6c432c81285efb0c739f317",
"target": {
"file": "modules/common/src/main/java/org/opencastproject/mediapackage/identifier/IdImpl.java",
"function": "compact"
},
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
},
{
"id": "CVE-2020-5230-86345984",
"digest": {
"threshold": 0.9,
"line_hashes": [
"69797736154236882272652478800920919494",
"319804724600842031130085551402219661415",
"334478982509335683475935112755839207254"
]
},
"source": "https://github.com/opencast/opencast/commit/bbb473f34ab95497d6c432c81285efb0c739f317",
"target": {
"file": "modules/common/src/main/java/org/opencastproject/mediapackage/identifier/Id.java"
},
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1"
}
],
"vanir_signatures_modified": "2026-10-20T14:14:07Z"
}
}
],
"modified": "2026-10-20T14:14:07.832534965Z",
"provider": "osv",
"references": [
"https://github.com/opencast/opencast/security/advisories/GHSA-w29m-fjp4-qhmq",
"https://github.com/opencast/opencast/commit/bbb473f34ab95497d6c432c81285efb0c739f317"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2020-5230",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 388747,
"published_at": "2020-01-30T21:15:15.167+00:00"
}