嵌套的protobuf字段允许一笔廉价的交易迫使每个Polygon验证器执行工作

- Polygon 在披露修复内容之前,已在 Bor 上实施了 Austin 硬分叉,在 Heimdall 上实施了 Kyoto 硬分叉。
- 最严重的漏洞允许一笔低成本交易迫使每个验证节点执行繁重的解码工作。
- Bor v2.10.0 和 Heimdall v0.11.0 为强制升级版本,旧版节点已离开主链。
Polygon Labs悄然发布了两个硬分叉,修复了其权益证明(POS)网络中的多个安全问题。
该Layer-2网络在论坛帖子中最终分享了细节。所有节点运营商必须升级,否则将被踢出网络共识。
Austin分叉阻止节点发送TxDependency字段
最严重的错误位于Heimdall中,Heimdall是协调Polygon验证器的软件。
Heimdall将每个交易的内容打包在一个称为 google.protobuf.Any的包装器中,根据论坛 帖子 由Parvez03发布。
一个包装器可以嵌套在另一个包装器中,就像盒子可以打包在其他盒子中一样。然而,在这个类比中,包装器可以嵌套的层数没有上限。
攻击者可以以几乎零成本创建一个堆叠了这些层的单一交易。这使得验证器浪费计算能力来解包它。
Polygon将这一缺陷描述为“一种无需许可的方式,迫使整个验证器集执行昂贵且相关的工作。”
Kyoto硬分叉将Heimdall软件升级到v0.11.0。
“Kyoto添加了一个字节级预扫描,一旦其嵌套超过阈值,就会拒绝交易,该阈值在内存池准入时强制执行(
CheckTx)以及在共识路径上(ProcessProposal),” 帖子 表示。
Polygon 会检查两次:
- 当交易到达时。
- 当验证者构建区块时。
第二次硬分叉名为 Austin,专注于 Polygon 的执行客户端 Bor。它修补了两条拒绝服务(DoS)路径。
其中一条涉及状态同步事件,即承载 L1 到 L2 桥接存款的过程。这些事件会执行合约代码和预编译合约,就像普通交易一样。然而,每个区块燃烧的气体数量没有上限。
Austin 分叉增加了状态同步气体的硬性每区块限制。
Polygon 从未对 TxDependency 字段的大小设置上限。
验证者可以加载大量数据,导致所有读取该区块的节点崩溃。该区块的其他部分看起来没有任何异常。
Austin 完全从网络格式中移除了该字段。

Kyoto 分叉在 Heimdall 高度 51,533,000 激活
Polygon 表示,没有人利用主网上的这些漏洞,并且在分叉上线之前已经修复了所有漏洞。
Austin 分叉在 Bor 区块 91,949,700 在主网上激活,Kyoto 分叉在 Heimdall 高度 51,533,000 激活。
每个节点都需要 Bor v2.10.0。验证者和全节点还需要 Heimdall 版本 0.11.0。运行旧版软件的节点已经分叉出主链。
这些修复只是简单的二进制升级,无需状态迁移、创世更改或完全重新同步。
POL交易价格为0.09美元,过去24小时下跌约9.3%。根据CoinGecko的数据,该代币处于绿色区域,过去30天上涨25.8%。
根据之前的 Cryptopolitan 报道,Heimdall V2 主网在七月下线了大约一个小时。
不要只是阅读加密货币新闻,要真正理解它。订阅我们的通讯。 免费。
免责声明。 所提供的信息不构成交易建议。Cryptopolitan.com 对基于本页信息进行的任何投资不承担任何责任。我们强烈建议在做出任何投资决策之前进行独立研究或咨询合格的专业人士。

Randa Moses
Randa Moses 是 Cryptopolitan 的编辑兼记者,专注于科技、人工智能、机器人技术、加密货币、诈骗及黑客攻击等领域的报道。自 2017 年以来,她一直活跃于加密货币领域,曾担任 Forward Protocol、AmaZix 和 Cryptosomniac 等公司的职务。Randa 拥有布拉德福德大学电气工程与电子工程学位。
















