关键漏洞信息 漏洞概述 标题: Before action hooks may execute in certain scenarios despite a request being forbidden 严重性: High (7.1/10) CVE ID: CVE-2025-48042 受影响版本: <= 3.5.38 修复版本: 3.5.39 描述 摘要: 在某些情况下,即使请求被禁止,before_action 钩子仍可能执行。具体来说,当调用批量操作时,如果某个批量操作调用了 before_transaction 钩子但没有调用 after_transaction 钩子,会在授权检查之前调用 before_transaction 钩子并返回 Forbidden 错误。 影响: 恶意用户可以导致 before_transaction 钩子在他们未被授权执行整个操作的情况下运行,这可能导致敏感或昂贵的操作。 影响范围 如果你有创建、更新或删除操作,并且: - 有 before_transaction 钩子但没有 after_transaction 钩子。 - 通过 Ash.bulk_ 回调使用(如 AshJsonApi 和 AshGraphql 对于更新/删除操作)。 严重性评估 before_transaction 钩子不常用,攻击者需要知道这些钩子的存在并进行身份验证才能利用此漏洞。此外,操作将始终返回 Forbidden 错误,不会泄露信息。 解决方案和变通方法 立即更新到最新版本**。 如果无法更新,可以在 before_transaction 钩子中添加逻辑以防止其在不应该执行时运行。