GHSA-J4MM-7PJ3-JF7V
Vulnerability from github – Published: 2021-12-14 21:43 – Updated: 2022-01-04 18:54Opencast versions prior to 9.10 allow HTTP method spoofing, allowing to change the assumed HTTP method via URL parameter. This allows attackers to turn HTTP GET requests into PUT requests or an HTTP form to send DELETE requests. This bypasses restrictions otherwise put on these types of requests and aids in cross-site request forgery (CSRF) attacks, which would otherwise not be possible.
Impact
The vulnerability allows attackers to craft links or forms which may change the server state. For example, the following GET request would create a new user:
% curl -i -u admin:opencast \
'https://legacy.opencast.org/admin-ng/users/test.json?_method=PUT&username=test&password=attack'
HTTP/2 200
…
If an admin is logged in to legacy.opencast.org and accidentally clicks this link, a user will silently be created.
Patches
This issue is fixed in Opencast 9.10 and 10.0.
Workarounds
You can mitigate the problem by setting the SameSite=Strict attribute for your cookies. If this is a viable option for you depends on your integrations. We strongly recommend updating in any case.
References
For more information
If you have any questions or comments about this advisory: * Open an issue in our issue tracker * Email us at security@opencast.org
{
"affected": [
{
"package": {
"ecosystem": "Maven",
"name": "org.opencastproject:opencast-common"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "9.10"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2021-43807"
],
"database_specific": {
"cwe_ids": [
"CWE-290"
],
"github_reviewed": true,
"github_reviewed_at": "2021-12-14T18:49:26Z",
"nvd_published_at": "2021-12-14T18:15:00Z",
"severity": "HIGH"
},
"details": "Opencast versions prior to 9.10 allow HTTP method spoofing, allowing to change the assumed HTTP method via URL parameter. This allows attackers to turn HTTP GET requests into PUT requests or an HTTP form to send DELETE requests. This bypasses restrictions otherwise put on these types of requests and aids in cross-site request forgery (CSRF) attacks, which would otherwise not be possible.\n\n### Impact\n\nThe vulnerability allows attackers to craft links or forms which may change the server state. For example, the following GET request would create a new user:\n\n```sh\n% curl -i -u admin:opencast \\\n \u0027https://legacy.opencast.org/admin-ng/users/test.json?_method=PUT\u0026username=test\u0026password=attack\u0027\nHTTP/2 200\n\u2026\n```\n\nIf an admin is logged in to legacy.opencast.org and accidentally clicks this link, a user will silently be created.\n\n\n### Patches\n\nThis issue is fixed in Opencast 9.10 and 10.0.\n\n### Workarounds\n\nYou can mitigate the problem by setting the `SameSite=Strict` attribute for your cookies. If this is a viable option for you depends on your integrations. We strongly recommend updating in any case.\n\n### References\n\n- [Fix for 10.0](https://github.com/opencast/opencast/commit/59cb6731067283e54f15462be38b6117d8b9ea8b#diff-9c5fb3d1b7e3b0f54bc5c4182965c4fe1f9023d449017cece3005d3f90e8e4d8)\n- [Fix for 9.10](https://github.com/opencast/opencast/commit/8f8271e1085f6f8e306c689d6a56b0bb8d076444)\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",
"id": "GHSA-j4mm-7pj3-jf7v",
"modified": "2022-01-04T18:54:12Z",
"published": "2021-12-14T21:43:00Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/opencast/opencast/security/advisories/GHSA-j4mm-7pj3-jf7v"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-43807"
},
{
"type": "WEB",
"url": "https://github.com/opencast/opencast/commit/59cb6731067283e54f15462be38b6117d8b9ea8b#diff-9c5fb3d1b7e3b0f54bc5c4182965c4fe1f9023d449017cece3005d3f90e8e4d8"
},
{
"type": "WEB",
"url": "https://github.com/opencast/opencast/commit/8f8271e1085f6f8e306c689d6a56b0bb8d076444"
},
{
"type": "PACKAGE",
"url": "https://github.com/opencast/opencast"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
],
"summary": "HTTP Method Spoofing"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.