CVE-2025-63640CVE-2025-63640是Sourcecodester公司开发的Medicine Reminder App(药物提醒应用)v1.0版本中存在的一处存储型跨站脚本(Stored XSS)安全漏洞。该应用是一款用于管理药物服用提醒的Web应用程序,用户可以通过其创建和管理药物提醒计划。漏洞存在于应用的"Upcoming Reminder"(即将到来的提醒)功能模块,具体位于"Medicine Name"(药物名称)和"Notes (Optional)"(备注,可选)两个输入字段中。攻击者可以在这些字段中注入恶意的HTML或JavaScript代码,当受害者访问包含该恶意数据的页面并点击"Save Reminder"(保存提醒)按钮时,攻击者植入的脚本代码将在受害者的浏览器上下文中执行。这允许攻击者窃取用户的会话Cookie、劫持用户会话、进行钓鱼攻击、修改页面内容或执行其他基于浏览器的恶意操作。由于该应用处理的是医疗健康相关数据,此类XSS漏洞还可能导致患者隐私信息泄露,对用户的数据安全构成严重威胁。攻击者无需任何特殊权限即可利用此漏洞,只需能够访问应用的提醒创建功能即可发动攻击。
该漏洞的根本原因在于应用对用户输入的"Medicine Name"和"Notes (Optional)"字段内容缺乏充分的输入验证和输出编码。当用户在创建"Upcoming Reminder"时提交包含HTML标签或JavaScript代码的输入数据(如<script>alert(document.cookie)</script>),应用服务器直接将这些数据存储到后端数据库中,而没有对特殊字符进行HTML实体编码或过滤。在后续页面加载或渲染提醒列表时,这些未经处理的数据被直接嵌入到HTML响应中,浏览器将其解析为可执行代码而非纯文本。攻击者利用这一漏洞可以绕过同源策略限制,在受害者浏览器中执行任意JavaScript代码。由于漏洞属于存储型XSS,恶意代码会被持久化存储,每次有用户访问受污染的页面时都会触发执行,大大增加了攻击的覆盖面和危害程度。攻击者通常会构造包含窃取Cookie或重定向用户的恶意脚本,以实现会话劫持或进一步的社会工程攻击。