CVE-2021-43807
Executive Summary
CVE-2021-43807 is an HTTP method spoofing vulnerability affecting Opencast, an open-source lecture capture and video management platform used by educational institutions. Versions prior to 9.10 allow attackers to transform HTTP GET requests into PUT requests, or form submissions into DELETE requests, by manipulating URL parameters. This bypasses access control restrictions placed on these HTTP methods and enables cross-site request forgery (CSRF) attacks against authenticated users. The vulnerability is fixed in Opencast 9.10 and 10.0; a partial mitigation is available by setting the SameSite=Strict attribute on session cookies. The vulnerability carries a CVSS score of 7.5 (High) and affects any educational deployment running Opencast prior to 9.10.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
Opencast is a Java-based open-source platform designed for academic institutions to record, manage, and distribute lecture content. The platform implements a range of HTTP methods — including GET, POST, PUT, and DELETE — to handle operations such as creating, modifying, and removing media assets, user roles, and system configurations. In many frameworks, the server-side dispatch logic relies on the HTTP method attribute carried in the request to determine which controller action executes.
The vulnerability described in CVE-2021-43807 stems from a design weakness in Opencast's request-handling layer: the framework permits HTTP method spoofing via URL parameters. Specifically, an attacker can append a parameter to a URL that alters the effective HTTP method the server assumes for the request. This allows a plain HTTP GET request (which browsers routinely issue when a link is clicked, or when an <img>/<script> tag is loaded) to be reinterpreted by the server as a PUT request. Similarly, an HTML form that normally sends POST or GET data can be co-opted to dispatch a DELETE request.
The core flaw is rooted in the way the server-side framework (likely Spring MVC or similar, though the NVD description does not name the framework) processes incoming requests: rather than strictly relying on the HTTP protocol's method header, the application layer consults and overrides the method based on a URL-supplied parameter. This "assumed-immutable web parameter" (CWE-472) is an external input that the application trivially trusts, bypassing any server- or proxy-level checks that restrict which methods are permitted on which endpoints.
From a technical standpoint, the attack surface is broadened because browsers' same-origin policies generally prevent JavaScript from sending cross-origin PUT or DELETE requests with custom headers. However, when the server blindly accepts a method override from a URL parameter, browsers' built-in protections are effectively negated — a simple link click or image embed can trigger a state-changing request. This is a textbook example of a "confused deputy" problem: the deputy (the browser) delivers a benign GET request, and the privileged server misinterprets it as a destructive operation.
The NVD description is sparse regarding implementation details. No specific URL parameter names, controller class names, or exact code paths are provided. What is known with confidence is the vulnerability class — HTTP method spoofing via untrusted URL parameters — and the fact that it enables CSRF attacks against endpoints that would otherwise be protected by method-based restrictions.
Exploitation Scenarios
Prerequisites for exploitation:
- The target must be running Opencast version prior to 9.10.
- The victim must be authenticated to the Opencast platform (attacker needs a logged-in session).
- The victim must interact with an attacker-crafted link or form.
Step 1 — Reconnaissance / Target Identification:
The attacker identifies an Opencast instance by searching Shodan or Google dorks for common Opencast login pages, lecture capture portals, or default headers. Fingerprinting can be performed by inspecting the login page's HTML source, HTTP response headers, or known default paths such as /index.html or the system's info endpoints. The attacker then verifies the version by observing the UI footer or by probing known version-specific resources. If the version is below 9.10, the target is vulnerable.
Step 2 — Triggering the Specific Flaw Class:
The attacker crafts a URL pointing to a state-changing endpoint that the server normally protects with a PUT or DELETE method requirement. To this URL, the attacker appends the HTTP method spoofing parameter. The exact parameter name is not disclosed in the public description; it is likely a framework-standard parameter such as _method or method, but specific names cannot be confirmed from available data. The attacker then convinces the victim to click the link or view an email/page containing an auto-loaded resource (e.g., an <img> tag) pointing to the crafted URL.
Step 3 — Payload / Execution Method at the Vulnerability-Class Level:
Since precise payload syntax is unavailable from public disclosures, the attack is executed at the class level: the crafted URL is delivered to the victim, the browser issues a GET request (because that is what the browser's HTTP client sends for links and embedded resources), and the Opencast server reads the spoofing parameter and dispatches the request as if it were a PUT or DELETE. In the case of a form-based attack, the attacker embeds a malicious form in an attacker-controlled page; when the victim submits it (or when JavaScript auto-submits it), the form data triggers a DELETE request that the server processes, bypassing method-restriction filters.
Step 4 — Post-Exploitation Impact:
A successful exploit enables CSRF attacks against state-changing Opencast operations — deleting media assets, altering user roles or ACLs, modifying system configuration, or terminating active recordings. Because these actions are executed with the victim's session privileges, the attacker gains the full write capability of the compromised account without ever seeing or intercepting the session token. The impact scales with the victim's privilege level: an administrator being targeted could result in complete platform compromise or data destruction.
While the CSRF attack is the primary exploitation path described in the NVD, HTTP method spoofing may also be combined with cross-site scripting or other client-side vectors to escalate to full remote code execution if the platform allows configuration changes to be written via the affected endpoints.
No public PoC is available; the attack chain is inferred from the vulnerability class and NVD description.
Impact Assessment
Business Impact: For educational institutions — the primary deployers of Opencast — this vulnerability represents a serious integrity and availability risk. A successful CSRF attack can silently delete lecture recordings, alter access control on sensitive academic content, or modify user roles, leading to data loss, academic integrity violations, and disruption of course delivery.
Affected Systems: All Opencast deployments running versions prior to 9.10. The platform is self-hosted, typically on institutional servers behind the campus network or on public-facing infrastructure.
Blast Radius: The vulnerability requires authenticated user interaction. The blast radius is therefore limited to whatever privileges the targeted user possesses. However, because Opencast is often administered by a small number of privileged accounts, a targeted attack against an administrator could result in full platform compromise, including deletion of the entire recording archive and modification of system-level settings.
CVSS Analysis: The CVSS base score of 7.5 (High) typically reflects a high attack complexity is lowered due to the straightforward exploitation mechanism, no privileges required beyond a valid user session, and high confidentiality/integrity impact. The score does not require network-level exploitation sophistication; it relies on standard phishing lures against authenticated personnel.
CISA KEV: Not listed on CISA's Known Exploited Vulnerabilities catalog, and no active exploitation in the wild has been publicly documented as of the report date.
Detection Guidance
Sigma Rule
title: Opencast HTTP Method Spoofing Attempt (CVE-2021-43807)
id: 8c7d1c47-6e3f-4e9d-b7c0-9d3d4a5b7d1e
status: experimental
description: Detects HTTP requests targeting Opencast instances that include method spoofing parameters commonly used to convert GET requests into PUT/DELETE requests.
logsource:
category: webserver
product: apache
definition: 'Detection of webserver logs from Opencast instances'
detection:
selection_put:
cs-method: GET
cs-uri-query|contains|all:
- 'method=PUT'
- '_method=PUT'
selection_delete:
cs-method: GET
cs-uri-query|contains|all:
- 'method=DELETE'
- '_method=DELETE'
selection_form:
cs-uri-query|contains|all:
- 'method=DELETE'
- '_method=DELETE'
condition: selection_put or selection_delete or selection_form
level: high
tags:
- attack.initial-access
- attack.t1200
- cve.2021-43807
YARA Rule
/*
* Detection of HTTP request payloads attempting method spoofing
* against Opencast instances (CVE-2021-43807)
*/
rule Opencast_Method_Spoofing_CVE_2021_43807 {
meta:
author = "Valters IT Security Research"
date = "2024-05-10"
description = "Detects packets containing method override parameters targeting Opencast"
cve = "CVE-2021-43807"
score = 70
strings:
$spoof_put1 = "_method=PUT" ascii nocase
$spoof_put2 = "method=PUT" ascii nocase
$spoof_del1 = "_method=DELETE" ascii nocase
$spoof_del2 = "method=DELETE" ascii nocase
$opencast_hdr = "Opencast" ascii nocase
condition:
filesize < 10MB and
(any of them) and
(uint16(0) == 0x4854) // "HT" in ASCII - web request
}
Suricata IDS Rule
alert http any any -> $HOME_NET any (msg:"ET WEB_SPECIFIC_APPS Opencast HTTP Method Spoofing Attempt (CVE-2021-43807)"; flow:established,to_server; http.method; content:"GET"; http.uri; content:"_method=PUT"; nocase; sid:2034821; rev:1; reference:cve,2021-43807; classtype:attempted-admin; metadata:attack_target Web_Server;)
alert http any any -> $HOME_NET any (msg:"ET WEB_SPECIFIC_APPS Opencast HTTP Method Spoofing Attempt (CVE-2021-43807) DELETE Form"; flow:established,to_server; http.method; content:"GET"; http.uri; content:"_method=DELETE"; nocase; sid:2034822; rev:1; reference:cve,2021-43807; classtype:attempted-admin;)
Elastic Detection
any where
network.direction : "ingress" and
http.request.method : "GET" and
(
url.full : "*_method=PUT*" or
url.full : "*method=PUT*" or
url.full : "*_method=DELETE*" or
url.full : "*method=DELETE*"
) and
(destination.port in (80, 443))
Splunk SPL Query
index=web sourcetype=access_combined
| where lower(method)="get"
| where (lower(uri) LIKE "%_method=put%" OR lower(uri) LIKE "%method=put%" OR lower(uri) LIKE "%_method=delete%" OR lower(uri) LIKE "%method=delete%")
| stats count by src_ip, uri, status, host
| sort - count
Wazuh OSSEC Rule
<group name="web,">
<rule id="100451" level="12">
<decoded_as>web</decoded_as>
<match>_method=PUT|_method=DELETE|method=PUT|method=DELETE</match>
<description>Opencast HTTP Method Spoofing attempt detected (CVE-2021-43807)</description>
<group>attack.web_application,cve_2021_43807,</group>
<mitre>
<id>T1200</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch Confidence: 2/4 — CLAIMED — The fix is claimed by the CNA (single source), but not independently confirmed across multiple authoritative outlets. Nevertheless, upgrading is strongly recommended given the severity.
Immediate Mitigations (1-2 days):
- Set
SameSite=Stricton all cookies — This is the vendor-recommended immediate mitigation. It prevents the browser from sending the session cookie on cross-site requests, which effectively neutralizes CSRF attacks regardless of HTTP method spoofing. Evaluate compatibility with existing integrations, as some may rely on cross-site session usage. - Enforce WAF rules — Deploy a Web Application Firewall rule to reject any incoming request containing
_method=PUT,_method=DELETE, or similar method-override parameters at the perimeter. This provides defense-in-depth and blocks the attack chain even if the server-side code is not yet patched. - Monitor for abnormal request patterns — Investigate any GET requests targeting known state-changing endpoints (e.g., deletion, modification, role updates) for the presence of method override parameters.
Patch / Upgrade Steps (1-2 weeks):
- Upgrade to Opencast 9.10 (if running in the 9.x release line) or Opencast 10.0 (latest stable). Both versions contain the fix.
- Follow the vendor's standard upgrade procedure: back up the database and media storage before applying the update, then deploy the new version in a staging environment first to validate compatibility with existing integrations.
- After upgrade, verify that HTTP method spoofing parameters are no longer honored by sending a test request containing
_method=DELETEagainst a non-destructive endpoint and confirming that the server returns a 405 Method Not Allowed or similar error.
Long-Term Hardening (1-3 months):
- Implement CSRF tokens — Ensure the application generates and validates per-session CSRF tokens on all state-changing endpoints. The method spoofing fix addresses the root cause, but CSRF tokens provide defense-in-depth.
- Review cookie attributes — Maintain
SameSite=StrictorSameSite=Laxwhere integration constraints permit. AvoidSameSite=Noneunless absolutely required, and if required, pair with strict CSRF protections. - Restrict HTTP methods — Configure the front-end web server (Apache/Nginx) to block PUT and DELETE methods at the perimeter unless explicitly whitelisted for specific API paths. This limits the exposure surface even if the application layer is bypassed.
- Establish a patching cadence — Institutional platforms like Opencast should be included in the organization's patch management program with a defined SLR (service-level response) for security releases.
- Conduct security awareness training — Given the CSRF vector relies on social engineering, train administrators and content managers to avoid clicking links in unsolicited emails or messages while logged into platform management interfaces.
References
- NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2021-43807
- GitHub Advisory (CNA): https://github.com/opencast/opencast/security/advisories/GHSA- (referenced via CNA, verify exact GHSA ID in NVD)
- Opencast Release Notes 9.10: https://docs.opencast.org/r/9.10.x/admin/ (verify in vendor documentation)
- Opencast Security Advisories: https://docs.opencast.org/ (vendor security section)
- MITRE CVE Record: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-43807
Threat Actor Intelligence: As of this report, there are no known threat actor campaigns leveraging CVE-2021-43807, no evidence of exploitation in the wild, and the CVE is not listed on CISA's Known Exploited Vulnerabilities Catalog. Exploitation is plausible in targeted APT or financially motivated campaigns against educational institutions, but the vulnerability is likely to be used opportunistically rather than by sophisticated actors given the relatively straightforward mitigation options and niche nature of the platform.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.