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.
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:
References
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.
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:
References