# jfs: 解决dbAllocAG越界位移问题
## 概述
Linux 内核 jfs 文件系统中存在一个移位操作超出边界(shift-out-of-bounds)的漏洞,该漏洞在 `dbAllocAG` 函数中被 syzbot 发现。漏洞的根源在于缺少对 `bmp->db_agl2size` 字段的有效校验,该字段可能大于 64,导致不合法的移位操作。
## 影响版本
无明确版本信息,该漏洞可能存在于未打补丁的较旧 Linux 内核版本中,具体影响与 JFS 文件系统的实现有关。
## 细节
- **漏洞位置**:jfs 文件系统的 `dbAllocAG` 函数。
- **根本原因**:未检查 `bmp->db_agl2size` 的值是否超出移位允许范围。
- **触发条件**:若 `bmp->db_agl2size` 大于 64,会引起移位溢出,导致 UBSAN 报错或内核崩溃。
- **修复方式**:在 `dbMount` 函数中添加对 `bmp->db_agl2size` 的边界检查,其最大允许值为 `L2MAXL2SIZE - L2MAXAG`。
- **其他改动**:代码维护中重构了 `dbMount` 函数的错误处理逻辑。
## 影响
未修复的系统在挂载恶意构造的 JFS 文件系统时可能会触发移位溢出,导致内核崩溃或潜在的安全隐患。此问题可能被用于本地拒绝服务攻击或内核信息泄露。
                                        
                                    
                                | # | POC 描述 | 源链接 | 神龙链接 | 
|---|
标题: 503 Service Temporarily Unavailable -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: 503 Service Temporarily Unavailable -- 🔗来源链接
标签:
标题: 503 Service Temporarily Unavailable -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
暂无评论