# Keras HDF5内存耗尽漏洞
## 概述
HDF5 权重加载组件中存在资源分配无限制或节流的问题,攻击者可利用特制的 .keras 归档文件引发内存耗尽,导致 Python 解释器崩溃。
## 影响版本
Google Keras 3.0.0 至 3.13.0
## 细节
该漏洞存在于 Keras 处理 .keras 归档中的 model.weights.h5 文件时的 HDF5 权重加载逻辑中。当文件内声明的数据集形状极为庞大时,系统在加载过程中未对资源使用进行有效限制或校验,导致大量内存被分配。
## 影响
远程攻击者可通过提交恶意构造的 .keras 文件触发内存耗尽,造成拒绝服务(DoS),最终导致 Python 解释器崩溃。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Fix DoS via malicious HDF5 dataset metadata in KerasFileEditor by HyperPS · Pull Request #21880 · keras-team/keras · GitHub -- 🔗来源链接
标签:
神龙速读:
### 关键信息
- **漏洞类型**: Denial of Service (DoS)
- **影响组件**: KerasFileEditor
- **漏洞描述**:
- 恶意的HDF5数据集元数据可以通过形状炸弹(shape bomb)对.keras文件进行远程DoS攻击。
- 包括Huntr和GHSA报告的漏洞。
- **修复措施**:
- **防御性尺寸验证**: 验证数据集元数据的尺寸。
- **拒绝不规则形状和维度溢出**: 防止攻击者利用不规则的数据集维度。
- **递归路径修复**: 修正内部路径处理以确保正确处理。
- **避免未绑定的NumPy分配**: 防止多GB张量的未绑定分配。
- **向后兼容性**: 与有效的Keras权重文件保持向后兼容。
- **相关资源**:
- 提供了Huntr和GHSA的漏洞报告链接。
暂无评论