CVE-2025-11609CVE-2025-11609是code-projects Hospital Management System 1.0版本中存在的硬编码加密密钥漏洞。该漏洞位于express-session组件的session函数中,开发者在配置express-session时将secret参数硬编码为固定值"secret"。由于express-session使用该secret密钥对session ID进行签名以防止会话伪造,硬编码的密钥使得攻击者可以预测或伪造有效的会话标识符,从而绕过身份验证机制,冒充合法用户访问系统。
该漏洞的CVSS 3.1评分为3.7分,属于低危级别。攻击者可以通过网络远程发起攻击,无需任何身份认证和用户交互,但攻击复杂度较高,利用难度较大。漏洞的主要影响在于完整性方面——攻击者可以篡改会话数据或伪造会话,但对机密性和可用性影响有限。
该漏洞已被公开披露,相关的概念验证(PoC)代码已在GitHub上发布(仓库:lakshayyverma/CVE-Discovery),攻击者可以参考利用。考虑到Hospital Management System处理敏感的医疗数据,该漏洞可能导致患者信息泄露或未授权访问医疗记录,对医疗机构的信息安全构成潜在威胁。
Hospital Management System 1.0在配置express-session中间件时,使用了硬编码的secret参数值"secret"。express-session是Node.js/Express框架中用于管理用户会话的中间件,其secret参数用于对session ID进行HMAC签名,防止会话ID被篡改或伪造。
技术原理:
1. 当用户登录后,服务器使用secret密钥对session ID进行签名,生成connect.sid cookie。
2. 客户端每次请求时携带该cookie,服务器验证签名以确认会话的合法性。
3. 由于secret被硬编码为"secret",任何知道该密钥的攻击者都可以伪造有效的session ID。
4. 攻击者可以使用相同的secret密钥为自己的恶意会话生成有效的签名cookie。
5. 将伪造的cookie发送至服务器后,服务器验证签名通过,攻击者即可以合法用户身份访问系统。
利用方式:
- 攻击者首先获取源代码或通过信息泄露获知secret值为"secret"
- 使用express-session相同的签名算法(如SHA-256 HMAC)伪造目标用户的session ID
- 构造带有伪造connect.sid的HTTP请求,绕过身份验证
- 以管理员或其他高权限用户身份执行未授权操作
该漏洞属于CWE-798(Use of Hard-coded Credentials)类漏洞,是Web应用中常见的安全缺陷之一。