Browse / CVEs / CVE-2021-22881
CVE-2021-22881· CWE-601
Ruby on Rails - Open Redirect via Host Header Injection
mediumseverity
6.1CVSS score
87.3%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it
Ruby on Rails action pack before 6.1.2.1, 6.0.3.5 contains an open redirect caused by special crafted Host headers in combination with allowed host formats, letting attackers redirect users to malicious websites, exploit requires attacker to control Host headers.
Impact
Attackers can redirect users to malicious sites, potentially leading to phishing or malware distribution.
Fix
Update to version 6.1.2.1, 6.0.3.5 or later versions.
How to confirm it
Send: GET /
Positive when: matches in header /(?m)^(?:Location\s*?:\s*?)(?:https?://|//)?(?:[a-zA-Z0-9\-_\.@]*)interact\.sh.*$/ AND status 302 or 301Run it with nuclei: nuclei -id CVE-2021-22881 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2021-22881
info:
name: Ruby on Rails - Open Redirect via Host Header Injection
author: theamanrawat
severity: medium
description: |
Ruby on Rails action pack before 6.1.2.1, 6.0.3.5 contains an open redirect caused by special crafted Host headers in combination with allowed host formats, letting attackers redirect users to malicious websites, exploit requires attacker to control Host headers.
impact: |
Attackers can redirect users to malicious sites, potentially leading to phishing or malware distribution.
remediation: |
Update to version 6.1.2.1, 6.0.3.5 or later versions.
reference:
- https://hackerone.com/reports/1047447
- https://nvd.nist.gov/vuln/detail/CVE-2021-22881
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
cvss-score: 6.1
cve-id: CVE-2021-22881
epss-score: 0.87301
epss-percentile: 0.99755
cwe-id: CWE-601
metadata:
verified: false
max-request: 1
tags: cve,cve2021,ruby,rails,host-header,redirect,vuln
http:
- raw:
- |
GET / HTTP/1.1
Host: interact.sh#{{randstr}}.{{Hostname}}
matchers-condition: and
matchers:
- type: regex
part: header
regex:
- '(?m)^(?:Location\s*?:\s*?)(?:https?://|//)?(?:[a-zA-Z0-9\-_\.@]*)interact\.sh.*$'
- type: status
condition: or
status:
- 302
- 301References
Use this check only on systems you are authorised to test. Where the data comes from