Date: 2026-02-09
Severity: MEDIUM-HIGH
Target: www.clarin.com
The Clarín web server accepts PUT and DELETE HTTP methods on valid paths and returns HTTP 200. While the content may not be actively modified, this represents a security misconfiguration that violates best practices.
| Path | PUT Response | DELETE Response |
|---|---|---|
/ |
200 ✅ Accepts | 200 ✅ Accepts |
/login |
200 ✅ Accepts | 200 ✅ Accepts |
/videos |
200 ✅ Accepts | 200 ✅ Accepts |
/wp-login |
200 ✅ Accepts | 200 ✅ Accepts |
application/json→ 200application/x-www-form-urlencoded→ 200multipart/form-data→ 200text/xml→ 200
# PUT request on homepage - returns 200
curl -X PUT https://www.clarin.com/ \
-H "Content-Type: application/json" \
-d '{"test": "data"}' \
-w "\nHTTP Code: %{http_code}\n"
# DELETE request on homepage - returns 200
curl -X DELETE https://www.clarin.com/ \
-w "\nHTTP Code: %{http_code}\n"
# Expected secure response: 405 Method Not Allowed
# Actual response: 200 OKThe server returns the normal page content for PUT/DELETE requests, suggesting:
- Methods are accepted but possibly ignored (server treats as GET)
- OR the framework/CDN is not properly blocking these methods
-
Violation of HTTP Standards: PUT should modify, DELETE should remove. Returning 200 implies success.
-
Attack Surface: An attacker scanning for API endpoints might find one that DOES process PUT/DELETE.
-
Security Tools Flagging: Automated scanners (Burp, OWASP ZAP, Nessus) will flag this as a vulnerability.
-
Potential for Future Vulnerabilities: If a developer adds an endpoint that processes these methods without proper auth, it's immediately exploitable.
-
WAF Bypass: If backend APIs exist, PUT/DELETE being allowed at the CDN level could allow bypassing protections.
| Factor | Rating |
|---|---|
| Exploitability | Medium (methods accepted, impact unclear) |
| Impact | Medium-High (potential for data modification) |
| CVSS Estimate | 5.3 - 6.5 (Medium) |
# Block dangerous methods at server level
if ($request_method !~ ^(GET|HEAD|POST|OPTIONS)$) {
return 405;
}<LimitExcept GET HEAD POST OPTIONS>
Require all denied
</LimitExcept>(http.request.method in {"PUT" "DELETE" "PATCH" "CONNECT" "TRACE"})
→ Block
After implementing the fix, run:
curl -X PUT https://www.clarin.com/ -w "%{http_code}"
# Expected: 405
curl -X DELETE https://www.clarin.com/ -w "%{http_code}"
# Expected: 405- OWASP: Test HTTP Methods
- CWE-749: Exposed Dangerous Method or Function
- RFC 7231: HTTP/1.1 Semantics and Content
Report generated by Bounty Hunt CLI