关键漏洞信息 CVE编号 CVE-2025-57247 漏洞类型 错误的访问控制 / 权限提升 摘要 在BATBToken以太坊智能合约中发现了一个漏洞,可能导致未经授权的访问和潜在的财务损失。该漏洞是由于白名单管理功能中的访问控制实现不正确,允许未经授权的用户绕过转账限制和费用机制。 详细信息 1. 公共白名单函数: 和 函数在基础ERC20合约中声明为public virtual,没有任何访问控制修饰符,允许任何人调用这些函数并修改关键的白名单设置。 2. 缺少访问控制:这些函数应限制为合约所有者或授权地址,但目前缺乏适当的onlyOwner或其他类似修饰符。 3. 绕过转账限制:通过操纵 映射,攻击者可以绕过防止购买后立即转账的冷却时间限制。 4. 特殊地址操作: 函数允许未经授权修改特殊地址状态,可能破坏分红分配机制。 攻击过程 1. 攻击者识别出缺乏访问控制的公共 函数。 2. 攻击者调用 将自己添加到冷白名单中。 3. 攻击者现在可以绕过 函数中的冷却时间转账限制,无需等待冷却期即可进行即时转账。 4. 攻击者还可以调用 来操纵特殊地址设置,可能影响分红分配或其他特殊机制。 5. 这使得攻击者可以在没有限制的情况下进行快速交易,可能从事抢跑或其他恶意活动。 其他信息 继承问题:漏洞存在于基础ERC20合约中,这些函数被定义为public virtual,但派生的BATBToken合约没有使用适当的访问控制覆盖它们。 设计缺陷:合约架构允许任何用户调用关键的管理函数,违反了最小特权原则。 结论 该漏洞是由于BATBToken合约白名单管理功能中的访问控制实现不正确造成的。此漏洞的影响重大,因为它允许未经授权的用户绕过关键的转账限制和操纵特殊地址设置。建议对所有管理功能实施适当的访问控制修饰符(如onlyOwner),以防止未经授权的访问并维护代币经济模型的完整性。