CVE-2026-41317Frappe Press是用于管理Frappe Cloud基础设施、订阅及市场的自定义应用程序。该应用程序中的`press.api.account.create_api_secret`端点存在CSRF类漏洞。由于该端点负责创建API密钥等敏感操作,却错误地允许通过GET方法访问,攻击者可诱导已登录用户访问特制链接。浏览器会在用户无感知的情况下发送带有身份凭证的请求,导致服务器端执行数据库写入操作。此漏洞利用了GET请求的自动发起特性,无需复杂交互即可对系统完整性造成严重影响。
该漏洞的核心机制在于对HTTP方法的不安全使用。在Web安全标准中,GET请求应当是幂等的,仅用于获取数据,而POST请求用于修改服务器状态。Frappe Press的`press.api.account.create_api_secret`接口在实现时未正确限制请求方法,允许通过GET触发创建API密钥的逻辑。攻击者只需构造一个包含恶意参数的URL(例如 `https://target/press/api/account/create_api_secret?params=...`),并通过社会工程学手段诱导受害者点击。由于浏览器在请求目标站点时会自动携带用户的Session Cookie,服务器端收到请求后无法区分这是用户的真实意愿还是恶意诱导,从而执行了创建密钥的操作。这种设计缺陷使得攻击者能够绕过同源策略的部分限制,以受害者身份执行特权操作。官方修复方案通过强制该接口仅接受POST请求,有效阻断此类攻击。