☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-63563

CVE-2025-63563 Weak Session Management in Summer pearl group
📅 PUBLISHED: 2025-10-31 00:00 UTC 🔄 UPDATED: 2026-08-18 17:14 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.25%
👁️
0.25% probability
6.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-63563 identifies a critical session management flaw in the Summer Pearl Group Vacation Rental Management Platform (VRMP) prior to version 1.0.2. The application fails to invalidate active user sessions after a password change, allowing an attacker who has obtained a valid session token to maintain persistent access to the account even after the legitimate user changes their password. This vulnerability enables account takeover, data exfiltration, and unauthorized actions within the platform.

The vulnerability is classified under CWE-613 (Insufficient Session Expiration) and maps to MITRE ATT&CK technique T1078.001 (Valid Accounts: Default Accounts). The CVSS vector indicates a network-accessible, low-complexity attack requiring low privileges, with high impact on confidentiality and integrity.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is not related to a package manager (NPM, PyPI, Go, Ruby) but is a direct application-level flaw in a proprietary web application. No supply chain compromise is involved.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – The attacker can exploit this remotely.
  • Attack Complexity (AC): Low (L) – No special conditions are required.
  • Privileges Required (PR): Low (L) – The attacker needs a valid session token (obtained via prior compromise or theft).
  • User Interaction (UI): None (N) – No user action is needed for exploitation.
  • Scope (S): Unchanged (U) – The exploit does not cross trust boundaries.
  • Confidentiality (C): High (H) – Full account data access.
  • Integrity (I): High (H) – Ability to modify account settings or perform actions.
  • Availability (A): None (N) – No denial of service.

Base Score: 8.1 (High)
Temporal Score: 7.6 (High) – No public exploit or patch confirmation.
Environmental Score: Varies based on deployment.

Deep Dive & Mechanics

The vulnerability resides in the session management module of the VRMP. When a user initiates a password change, the application updates the password hash in the database but does not invalidate the existing session token. The session token is typically stored in a cookie (e.g., PHPSESSID or a custom token) and is validated against a server-side session store. Since the session is not destroyed or regenerated, the old token remains valid.

Attack Flow:

  1. Attacker obtains a valid session token (e.g., via XSS, phishing, or session fixation).
  2. Legitimate user changes their password (e.g., due to a security notice).
  3. Attacker continues to use the old session token to access the account.
  4. The server validates the token against the session store, which still contains the old session data.
  5. Attacker maintains full access until the session expires naturally or is manually terminated.

Root Cause: The change_password() function likely calls password_hash() but omits session_regenerate_id() or session_destroy().

Vulnerable vs. Patched Code

Vulnerable Code (v1.0.1 and earlier):

// Vulnerable: No session invalidation
function changePassword($userId, $newPassword) {
    $hash = password_hash($newPassword, PASSWORD_DEFAULT);
    $db->query("UPDATE users SET password_hash = ? WHERE id = ?", [$hash, $userId]);
    // Missing: session_regenerate_id(true) or session_destroy()
    return true;
}

Patched Code (v1.0.2):

// Patched: Session invalidated after password change
function changePassword($userId, $newPassword) {
    $hash = password_hash($newPassword, PASSWORD_DEFAULT);
    $db->query("UPDATE users SET password_hash = ? WHERE id = ?", [$hash, $userId]);
    // Invalidate all sessions for this user
    $db->query("DELETE FROM sessions WHERE user_id = ?", [$userId]);
    // Regenerate current session
    session_regenerate_id(true);
    return true;
}

Exploitation & Lab Setup

Red Team (Attacker)

Prerequisites:

  • Valid session token for a target user (e.g., abc123).
  • Network access to the VRMP web interface.

Exploitation Steps:

  1. Intercept a session cookie (e.g., via XSS or network sniffing).
  2. Wait for the user to change their password.
  3. Use the same session cookie to make authenticated requests:
    curl -X GET "https://vrmp.example.com/admin/dashboard" \
         -H "Cookie: session=abc123"
    
  4. The server returns the dashboard, confirming persistent access.

Automated Script (Python):

import requests

session_token = "abc123"
target_url = "https://vrmp.example.com/admin/dashboard"

cookies = {"session": session_token}
response = requests.get(target_url, cookies=cookies)

if response.status_code == 200:
    print("[+] Session still valid after password change!")
else:
    print("[-] Session invalidated.")

Blue Team (Defender)

Detection:

  • Monitor for multiple simultaneous sessions from the same user.
  • Alert on session activity after a password change event.
  • Use the Sigma rule below to detect anomalous session usage.

Mitigation:

  • Immediately invalidate all sessions for a user upon password change.
  • Implement session regeneration (session_regenerate_id(true)).
  • Enforce short session timeouts and rotate tokens.

Indicators of Compromise (IOCs)

  • Session Cookie: session=<token> (persistent after password change)
  • Log Entry: Password change event followed by continued session activity from the same IP.
  • Network Traffic: Repeated authenticated requests to /admin/* endpoints without re-authentication.
  • File Artifact: No specific files; focus on session store entries.

Detection Engineering

YARA Rule

rule CVE_2025_63563_Session_Invalidation {
    meta:
        description = "Detects missing session invalidation after password change in PHP code"
        author = "Valters IT"
        date = "2025-04-01"
        cve = "CVE-2025-63563"
    strings:
        $password_change = /password_hash\s*\(/ nocase
        $session_regenerate = /session_regenerate_id\s*\(/ nocase
        $session_destroy = /session_destroy\s*\(/ nocase
    condition:
        $password_change and not ($session_regenerate or $session_destroy)
}

Sigma Rule

title: Session Persistence After Password Change
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects continued session activity after a password change event
author: Valters IT
date: 2025-04-01
logsource:
    category: application
    product: vrmp
detection:
    selection:
        event: password_change
    timeframe: 5m
    condition:
        selection | followed by event: session_activity
falsepositives:
    - Legitimate session reuse within timeout window
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-63563 - Session Persistence After Password Change";
    flow:to_server,established;
    content:"POST /change-password";
    nocase;
    pcre:"/session=[a-f0-9]{32}/";
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade to version 1.0.2 or later.
  2. If upgrade is not possible, manually patch the change_password() function to include session_regenerate_id(true) and delete all existing sessions for the user.
  3. Force logout all users after password change by clearing session store entries.

Long-Term Measures:

  • Implement session rotation on any privilege escalation.
  • Use short-lived tokens (e.g., JWT with expiration).
  • Monitor for anomalous session usage patterns.
  • Conduct code review for similar session management flaws.

Workaround:

  • Disable password change functionality temporarily until patched.
  • Implement a web application firewall (WAF) rule to block requests with old session tokens after a password change event.

Valters IT
DevSecOps & Cyber Threat Intelligence

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-63563/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.