# Go-Ethereum P2P拒绝服务漏洞
## 概述
go-ethereum(geth)是 Ethereum 协议的 Golang 实现,存在一个可导致节点崩溃的漏洞,攻击者可通过构造特殊消息迫使 vulnerable 节点关闭或崩溃。
## 影响版本
所有早于 1.16.8 的版本均受影响。
## 细节
攻击者可通过向节点发送精心构造的消息,触发导致节点异常终止的条件,从而实现拒绝服务攻击。
## 影响
未经身份验证的远程攻击者可利用该漏洞导致节点崩溃,造成服务中断。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: DoS via malicious p2p message · Advisory · ethereum/go-ethereum · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
### 关键信息
- **漏洞名称:** DoS via malicious p2p message
- **漏洞等级:** Moderate
- **发布时间:** Last week
- **漏洞ID:** GHSA-mq3p-r7mp-79jg
- **CVE ID:** CVE-2026-22868
### 漏洞详情
- **受影响版本:** <= 1.16.7
- **修复版本:** >= 1.16.8
### 漏洞描述
- **影响:** An attacker can cause high CPU usage by sending a specially crafted p2p message.
### 漏洞报告
- **报告者:** @Yenya030
- **报告给:** Ethereum Foundation Bug Bounty Program
标题: Merge branch 'dos-fixes' into release/1.16 · ethereum/go-ethereum@abeb78c · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
### 关键漏洞信息总结
#### 漏洞类型:验证错误和协议违规
1. **KZG 验证错误处理**
- **文件**: `core/txpool/validation.go`
- **改动说明**: 添加了 `ErrKZGVerificationError` 错误处理逻辑,用于检测 KZG 验证是否失败。
- **影响**: 如果 KZG 验证失败,将终止事务处理,防止计算资源被恶意消耗。
2. **无效 Blob 处理**
- **文件**: `core/txpool/validation.go`
- **改动说明**: 如果 KZG 验证未通过,返回更具体的错误信息(如 `ErrKZGVerificationError`)。
- **影响**: 增强了对无效 Blob 的检测和错误报告,提高系统的健壮性和安全性。
3. **协议违规处理**
- **文件**: `eth/fetcher/tx_fetcher.go`
- **改动说明**: 引入 `violation` 错误类型,用于处理协议违规情况。
- **影响**: 当检测到违反协议时,断开对等节点连接,防止潜在的 DOS 攻击。
#### 版本更新
- **版本号从 v1.16.7 更新至 v1.16.8**
- 修复了与验证相关的问题,增强了系统的安全性和稳定性。
#### 数据验证和错误处理
- **增强验证逻辑**
- 在多个地方增加了对验证失败的处理逻辑,特别关注 KZG 验证失败的场景,确保系统不会被恶意数据利用。
暂无评论