Opencast is an Open Source Lecture Capture & Video Management for Education. Opencast before version 9.10 or 10.6 allows references to local file URLs in ingested media packages, allowing attackers to include local files from Opencast's host machines and making them available via the web interface. Before Opencast 9.10 and 10.6, Opencast would open and include local files during ingests. Attackers could exploit this to include most local files the process has read access to, extracting secrets from the host machine. An attacker would need to have the privileges required to add new media to exploit this. But these are often widely given. The issue has been fixed in Opencast 10.6 and 11.0. You can mitigate this issue by narrowing down the read access Opencast has to files on the file system using UNIX permissions or mandatory access control systems like SELinux. This cannot prevent access to files Opencast needs to read though and we highly recommend updating.
{"id": "CVE-2021-43821", "vendorId": null, "type": "cve", "bulletinFamily": "NVD", "title": "CVE-2021-43821", "description": "Opencast is an Open Source Lecture Capture & Video Management for Education. Opencast before version 9.10 or 10.6 allows references to local file URLs in ingested media packages, allowing attackers to include local files from Opencast's host machines and making them available via the web interface. Before Opencast 9.10 and 10.6, Opencast would open and include local files during ingests. Attackers could exploit this to include most local files the process has read access to, extracting secrets from the host machine. An attacker would need to have the privileges required to add new media to exploit this. But these are often widely given. The issue has been fixed in Opencast 10.6 and 11.0. You can mitigate this issue by narrowing down the read access Opencast has to files on the file system using UNIX permissions or mandatory access control systems like SELinux. This cannot prevent access to files Opencast needs to read though and we highly recommend updating.", "published": "2021-12-14T20:15:00", "modified": "2021-12-20T20:48:00", "cvss": {"score": 4.0, "vector": "AV:N/AC:L/Au:S/C:P/I:N/A:N"}, "cvss2": {"cvssV2": {"version": "2.0", "vectorString": "AV:N/AC:L/Au:S/C:P/I:N/A:N", "accessVector": "NETWORK", "accessComplexity": "LOW", "authentication": "SINGLE", "confidentialityImpact": "PARTIAL", "integrityImpact": "NONE", "availabilityImpact": "NONE", "baseScore": 4.0}, "severity": "MEDIUM", "exploitabilityScore": 8.0, "impactScore": 2.9, "acInsufInfo": false, "obtainAllPrivilege": false, "obtainUserPrivilege": false, "obtainOtherPrivilege": false, "userInteractionRequired": false}, "cvss3": {"cvssV3": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "NONE", "availabilityImpact": "NONE", "baseScore": 7.7, "baseSeverity": "HIGH"}, "exploitabilityScore": 3.1, "impactScore": 4.0}, "href": "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-43821", "reporter": "security-advisories@github.com", "references": ["https://github.com/opencast/opencast/security/advisories/GHSA-59g4-hpg3-3gcp", "https://github.com/opencast/opencast/blob/69952463971cf578363e3b97d8edaf334ff51253/modules/ingest-service-impl/src/main/java/org/opencastproject/ingest/impl/IngestServiceImpl.java#L1587", "https://mvnrepository.com/artifact/org.opencastproject/opencast-ingest-service-impl", "https://github.com/opencast/opencast/commit/65c46b9d3e8f045c544881059923134571897764"], "cvelist": ["CVE-2021-43821"], "immutableFields": [], "lastseen": "2022-03-23T19:44:41", "viewCount": 41, "enchantments": {"dependencies": {"references": [{"type": "github", "idList": ["GHSA-59G4-HPG3-3GCP"]}, {"type": "githubexploit", "idList": ["C505CC10-2568-5B87-8C02-F914262CD13A"]}, {"type": "osv", "idList": ["OSV:GHSA-59G4-HPG3-3GCP"]}], "rev": 4}, "score": {"value": 3.5, "vector": "NONE"}, "backreferences": {"references": [{"type": "github", "idList": ["GHSA-59G4-HPG3-3GCP"]}, {"type": "githubexploit", "idList": ["C505CC10-2568-5B87-8C02-F914262CD13A"]}]}, "exploitation": null, "vulnersScore": 3.5}, "_state": {"dependencies": 0}, "_internal": {}, "cna_cvss": {"cna": "GitHub, Inc.", "cvss": {"3": {"vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H", "score": 9.9}}}, "cpe": [], "cpe23": [], "cwe": ["CWE-552"], "affectedSoftware": [{"cpeName": "apereo:opencast", "version": "10.6", "operator": "lt", "name": "apereo opencast"}], "affectedConfiguration": [], "cpeConfiguration": {"CVE_data_version": "4.0", "nodes": [{"operator": "OR", "children": [], "cpe_match": [{"vulnerable": true, "cpe23Uri": "cpe:2.3:a:apereo:opencast:10.6:*:*:*:*:*:*:*", "versionEndExcluding": "10.6", "cpe_name": []}]}]}, "extraReferences": [{"url": "https://github.com/opencast/opencast/security/advisories/GHSA-59g4-hpg3-3gcp", "name": "https://github.com/opencast/opencast/security/advisories/GHSA-59g4-hpg3-3gcp", "refsource": "CONFIRM", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://github.com/opencast/opencast/blob/69952463971cf578363e3b97d8edaf334ff51253/modules/ingest-service-impl/src/main/java/org/opencastproject/ingest/impl/IngestServiceImpl.java#L1587", "name": "https://github.com/opencast/opencast/blob/69952463971cf578363e3b97d8edaf334ff51253/modules/ingest-service-impl/src/main/java/org/opencastproject/ingest/impl/IngestServiceImpl.java#L1587", "refsource": "MISC", "tags": ["Patch", "Third Party Advisory"]}, {"url": "https://mvnrepository.com/artifact/org.opencastproject/opencast-ingest-service-impl", "name": "https://mvnrepository.com/artifact/org.opencastproject/opencast-ingest-service-impl", "refsource": "MISC", "tags": ["Third Party Advisory"]}, {"url": "https://github.com/opencast/opencast/commit/65c46b9d3e8f045c544881059923134571897764", "name": "https://github.com/opencast/opencast/commit/65c46b9d3e8f045c544881059923134571897764", "refsource": "MISC", "tags": ["Patch", "Third Party Advisory"]}]}
{"github": [{"lastseen": "2022-04-19T19:29:44", "description": "Opencast before version 10.6 allows references to local file URLs in ingested media packages, allowing attackers to include local files from Opencast's host machines and making them available via the web interface.\n\n### Impact\n\nBefore Opencast 10.6, Opencast would [open and include local files during ingests](https://github.com/opencast/opencast/blob/69952463971cf578363e3b97d8edaf334ff51253/modules/ingest-service-impl/src/main/java/org/opencastproject/ingest/impl/IngestServiceImpl.java#L1587). Attackers could exploit this to include most local files the process has read access to, extracting secrets from the host machine.\n\nFor example, to expose the `custom.properties` of develop.opencast.org via the asset manager, an attacker could have run:\n\n```\ncurl -f -i -u admin:opencast \\\n https://develop.opencast.org/ingest/addMediaPackage/fast \\\n -F 'flavor=presenter/source'\\\n -F mediaUri=file:///srv/opencast/opencast-dist-allinone/etc/custom.properties\\\n -F title=\"custom.properties\" \n```\n\nAn attacker would need to have the privileges required to add new media to exploit this. But these are often widely given.\n\n\n### Patches\n\nThe issue has been fixed in Opencast 10.6 and 11.0.\n\n### Workarounds\n\nYou can mitigate this issue by narrowing down the read access Opencast has to files on the file system using UNIX permissions or mandatory access control systems like SELinux. This cannot prevent access to files Opencast needs to read though and we highly recommend updating.\n\n### References\n\n- [Example of problematic code](https://github.com/opencast/opencast/blob/69952463971cf578363e3b97d8edaf334ff51253/modules/ingest-service-impl/src/main/java/org/opencastproject/ingest/impl/IngestServiceImpl.java#L1587).\n- [Patch fixing the issue](https://github.com/opencast/opencast/commit/65c46b9d3e8f045c544881059923134571897764)\n\n### For more information\n\nIf you have any questions or comments about this advisory:\n* Open an issue in [our issue tracker](https://github.com/opencast/opencast/issues)\n* Email us at [security@opencast.org](mailto:security@opencast.org)\n", "cvss3": {"exploitabilityScore": 3.1, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "CHANGED", "attackVector": "NETWORK", "availabilityImpact": "NONE", "integrityImpact": "NONE", "privilegesRequired": "LOW", "baseScore": 7.7, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 4.0}, "published": "2021-12-14T21:44:03", "type": "github", "title": "Files Accessible to External Parties in Opencast", "bulletinFamily": "software", "cvss2": {"severity": "MEDIUM", "exploitabilityScore": 8.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "NONE", "integrityImpact": "NONE", "baseScore": 4.0, "vectorString": "AV:N/AC:L/Au:S/C:P/I:N/A:N", "version": "2.0", "accessVector": "NETWORK", "authentication": "SINGLE"}, "impactScore": 2.9, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2021-43821"], "modified": "2022-04-19T19:03:13", "id": "GHSA-59G4-HPG3-3GCP", "href": "https://github.com/advisories/GHSA-59g4-hpg3-3gcp", "cvss": {"score": 4.0, "vector": "AV:N/AC:L/Au:S/C:P/I:N/A:N"}}], "osv": [{"lastseen": "2022-06-10T05:01:33", "description": "Opencast before version 10.6 allows references to local file URLs in ingested media packages, allowing attackers to include local files from Opencast's host machines and making them available via the web interface.\n\n### Impact\n\nBefore Opencast 10.6, Opencast would [open and include local files during ingests](https://github.com/opencast/opencast/blob/69952463971cf578363e3b97d8edaf334ff51253/modules/ingest-service-impl/src/main/java/org/opencastproject/ingest/impl/IngestServiceImpl.java#L1587). Attackers could exploit this to include most local files the process has read access to, extracting secrets from the host machine.\n\nFor example, to expose the `custom.properties` of develop.opencast.org via the asset manager, an attacker could have run:\n\n```\ncurl -f -i -u admin:opencast \\\n https://develop.opencast.org/ingest/addMediaPackage/fast \\\n -F 'flavor=presenter/source'\\\n -F mediaUri=file:///srv/opencast/opencast-dist-allinone/etc/custom.properties\\\n -F title=\"custom.properties\" \n```\n\nAn attacker would need to have the privileges required to add new media to exploit this. But these are often widely given.\n\n\n### Patches\n\nThe issue has been fixed in Opencast 10.6 and 11.0.\n\n### Workarounds\n\nYou can mitigate this issue by narrowing down the read access Opencast has to files on the file system using UNIX permissions or mandatory access control systems like SELinux. This cannot prevent access to files Opencast needs to read though and we highly recommend updating.\n\n### References\n\n- [Example of problematic code](https://github.com/opencast/opencast/blob/69952463971cf578363e3b97d8edaf334ff51253/modules/ingest-service-impl/src/main/java/org/opencastproject/ingest/impl/IngestServiceImpl.java#L1587).\n- [Patch fixing the issue](https://github.com/opencast/opencast/commit/65c46b9d3e8f045c544881059923134571897764)\n\n### For more information\n\nIf you have any questions or comments about this advisory:\n* Open an issue in [our issue tracker](https://github.com/opencast/opencast/issues)\n* Email us at [security@opencast.org](mailto:security@opencast.org)\n", "cvss3": {"exploitabilityScore": 3.1, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "CHANGED", "attackVector": "NETWORK", "availabilityImpact": "NONE", "integrityImpact": "NONE", "privilegesRequired": "LOW", "baseScore": 7.7, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 4.0}, "published": "2021-12-14T21:44:03", "type": "osv", "title": "Files Accessible to External Parties in Opencast", "bulletinFamily": "software", "cvss2": {"severity": "MEDIUM", "exploitabilityScore": 8.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "NONE", "integrityImpact": "NONE", "baseScore": 4.0, "vectorString": "AV:N/AC:L/Au:S/C:P/I:N/A:N", "version": "2.0", "accessVector": "NETWORK", "authentication": "SINGLE"}, "impactScore": 2.9, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2021-43821"], "modified": "2022-06-10T02:14:22", "id": "OSV:GHSA-59G4-HPG3-3GCP", "href": "https://osv.dev/vulnerability/GHSA-59g4-hpg3-3gcp", "cvss": {"score": 4.0, "vector": "AV:N/AC:L/Au:S/C:P/I:N/A:N"}}], "veracode": [{"lastseen": "2022-06-10T16:59:08", "description": "org.opencastproject:opencast-ingest-service-impl is vulnerable to privilege escalation. An authenticated attacker is able to extract secrets from the host machine via exploiting local files with read access resulting in privilege escalation vulnerability.\n", "cvss3": {"exploitabilityScore": 3.1, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "CHANGED", "attackVector": "NETWORK", "availabilityImpact": "NONE", "integrityImpact": "NONE", "privilegesRequired": "LOW", "baseScore": 7.7, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 4.0}, "published": "2021-12-15T12:34:25", "type": "veracode", "title": "Privilege Escalation", "bulletinFamily": "software", "cvss2": {"severity": "MEDIUM", "exploitabilityScore": 8.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "NONE", "integrityImpact": "NONE", "baseScore": 4.0, "vectorString": "AV:N/AC:L/Au:S/C:P/I:N/A:N", "version": "2.0", "accessVector": "NETWORK", "authentication": "SINGLE"}, "impactScore": 2.9, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2021-43821"], "modified": "2021-12-20T22:04:00", "id": "VERACODE:33347", "href": "https://sca.analysiscenter.veracode.com/vulnerability-database/security/1/1/sid-33347/summary", "cvss": {"score": 4.0, "vector": "AV:N/AC:L/Au:S/C:P/I:N/A:N"}}], "githubexploit": [{"lastseen": "2022-06-26T16:37:02", "description": "# opencast-CVE-2021-438...", "cvss3": {"exploitabilityScore": 3.1, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "CHANGED", "attackVector": "NETWORK", "availabilityImpact": "NONE", "integrityImpact": "NONE", "privilegesRequired": "LOW", "baseScore": 7.7, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 4.0}, "published": "2021-12-26T09:04:43", "type": "githubexploit", "title": "Exploit for Files or Directories Accessible to External Parties in Apereo Opencast", "bulletinFamily": "exploit", "cvss2": {"severity": "MEDIUM", "exploitabilityScore": 8.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "NONE", "integrityImpact": "NONE", "baseScore": 4.0, "vectorString": "AV:N/AC:L/Au:S/C:P/I:N/A:N", "version": "2.0", "accessVector": "NETWORK", "authentication": "SINGLE"}, "impactScore": 2.9, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2021-43821"], "modified": "2021-12-27T12:18:04", "id": "C505CC10-2568-5B87-8C02-F914262CD13A", "href": "", "cvss": {"score": 4.0, "vector": "AV:N/AC:L/Au:S/C:P/I:N/A:N"}, "privateArea": 1}]}