CVE-2025-66554Nextcloud Contacts是Nextcloud云存储平台的一款联系人管理应用,允许用户同步和编辑来自不同设备的联系人信息。该应用在5.5.4、6.0.6、7.2.5之前的版本中存在一处存储型CSS注入漏洞。攻击者通过在个人资料的组织(organisation)和职位(title)字段中注入恶意CSS加载代码,当其他用户查看攻击者的联系人详情时,浏览器会加载攻击者指定的外部CSS文件。虽然Nextcloud Server的内容安全策略(CSP)正确阻止了JavaScript等高危内容的执行,但CSS文件的加载未被完全限制,攻击者可利用CSS注入进行UI欺骗、界面伪装或窃取用户敏感信息。此漏洞需要低权限认证用户参与,且需要目标用户查看攻击者的联系人资料才能触发,攻击复杂度较高但仍存在实际利用风险。
漏洞根源在于Nextcloud Contacts应用对用户输入的组织(organisation)和职位(title)字段缺乏充分的输入验证和输出编码。当用户修改这些字段时,应用允许包含CSS链接引用(如<link>标签或CSS @import语句)的内容被存储到数据库中。由于Nextcloud的CSP策略主要针对JavaScript等脚本执行进行了限制,而CSS外部文件加载在某些场景下仍可被浏览器解析执行,攻击者可以通过构造特定的CSS payload来实现以下攻击效果:1)使用@import加载外部CSS控制页面样式;2)通过::before/::after伪元素配合content属性注入恶意内容;3)利用CSS选择器结合background属性进行数据窃取(如窃取CSRF Token)。攻击者将恶意payload写入个人资料后,任何查看其联系人信息的用户都会触发CSS加载。Nextcloud Server的CSP配置虽然阻止了内联脚本执行,但CSS注入的利用面(如UI欺骗、信息泄露)仍不容忽视。