目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2026-98216— IB/hfi1: PIO_CRED信用返回内存映射漏洞

一分钟漏洞结论

影响对象
Linux Linux
利用判断
尚无明确在野利用证据,仍需结合暴露面评估
建议动作
优先检查厂商安全公告和参考链接中的修复版本;无法立即升级时,限制受影响服务暴露并加强监测。

以下是对该漏洞描述信息的中文翻译: 在 Linux 内核中,已修复以下漏洞: IB/hfi1:修复 PIO_CRED(编程式输入/输出信用额度)信用额度返回的 mmap 操作 在 分支中,必须向用户空间交付持有该上下文条目的单个信用额度返回页面。一旦硬件发送上下文索引达到 64 或 128,该页面就是每个节点信用额度分配中的第二或第三页,因此下述故障是间歇性发生的:当条目位于第一页时,偏移量为零,一切正常。 这里存在两个错误。 首先, 是一个字节偏移量,而 是 类型,因此直接相加会导致指针算术运算,将偏移量按 (即

CVSS 7.1 · High EPSS 0.13% · P2

影响版本矩阵 12

厂商产品 版本范围状态
Linux Linux 1ec82317a1daac78c04b0c15af89018ccf9fa2b7< 535530bb2ea5254e1e9f55280143d262dd065204 affected
1ec82317a1daac78c04b0c15af89018ccf9fa2b7< dcebe0b0bb080a25fe08011fd6b6e741f7912f01 affected
1ec82317a1daac78c04b0c15af89018ccf9fa2b7< 180752deb7270ad37394ab6ef7cf4978fad040b3 affected
1ec82317a1daac78c04b0c15af89018ccf9fa2b7< bafeac9ce5d1ce5256bcf7e5702e831e9aaf419b affected
1ec82317a1daac78c04b0c15af89018ccf9fa2b7< 62f0f34fbd2b2d5653d33d3b9d42fdcabb1c0101 affected
6.3 affected
< 6.3 unaffected
6.6.158≤ 6.6.* unaffected
… +4 条更多
获取后续新漏洞提醒 登录后订阅

一、 漏洞 CVE-2026-98216 基础信息

漏洞信息

对漏洞内容有疑问?看看神龙的深度分析是否有帮助!
查看神龙十问 ↗

尽管我们使用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。神龙努力确保数据的准确性,但请您根据实际情况进行核实和判断。

Vulnerability Title
IB/hfi1: Fix the PIO_CRED credit-return mmap
来源: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: IB/hfi1: Fix the PIO_CRED credit-return mmap hfi1_file_mmap()'s PIO_CRED case must hand user space the single credit-return page that holds this context's entry. That page is the second or third page of the per-node credit-return allocation once the hardware send context index reaches 64 or 128, so the failure below is intermittent: when the entry lands on the first page the offset is zero and everything works. Two things are wrong. First, cr_page_offset is a byte offset but .va is a struct credit_return *, so adding it is pointer arithmetic and scales the offset by sizeof(struct credit_return) == 64. memvirt then lands 256 KiB or 512 KiB past a 10240-byte allocation. With an IOMMU translating, that address is inside the vmalloc range but in no vm_area, so dma_mmap_coherent() -> iommu_dma_mmap() finds no pages, vmalloc_to_pfn() returns page_to_pfn(NULL), and remap_pfn_range() installs a frame above MAXPHYADDR. The first user read then takes: psm2_ep_open_pr: Corrupted page table at address 7a14d007e000 PGD 800000013886a067 P4D 800000013886a067 PUD 13886b067 PMD 13886c067 PTE 800049168e911235 Oops: Bad pagetable: 000d [#1] SMP PTI Second, and still wrong once the arithmetic is corrected, dma_mmap_coherent() describes a whole coherent buffer and selects the page within it with vma->vm_pgoff. Offsetting cpu_addr has no effect: for a vmap'd allocation iommu_dma_mmap() uses cpu_addr only to locate the vm_area and then maps pages[vm_pgoff], which hfi1_file_mmap() has just set to 0. User space therefore always receives the first credit-return page, every credit read is for the wrong context, and send PIO stalls forever. Use the DMA API as intended: pass the base of the allocation with its full length and select the page with vm_pgoff. A separate length is needed because memlen must keep describing the VMA for the existing size check. The dma-direct path stays correct as well, since dma_direct_mmap() adds the same vm_pgoff to the base pfn. Tested on a Dell T7610 (Xeon E5-2650 v2, Intel IOMMU in DMA-FQ mode) against a Threadripper PRO 3995WX peer, both Omni-Path 100. Before this change psm2_ep_open() Oopses the kernel; with only the arithmetic corrected psm2_ep_open() succeeds but any transfer that uses send PIO hangs, PSM2_SDMA=2 (send PIO disabled) completing normally while PSM2_SDMA=0 (send PIO only) hangs every time. With this change send PIO, send DMA and the default mixed mode all work.
来源: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
来源: CVE Program / CVE List V5
Vulnerability Type
N/A
来源: CVE Program / CVE List V5

受影响产品

厂商 产品 影响版本 CPE 订阅
Linux Linux 1ec82317a1daac78c04b0c15af89018ccf9fa2b7 ~ 535530bb2ea5254e1e9f55280143d262dd065204 -
Linux Linux 6.3 -

二、漏洞 CVE-2026-98216 的公开POC

# POC 描述 源链接 神龙链接
AI 生成 POC 高级

未找到公开 POC。

登录以生成 AI POC

三、漏洞 CVE-2026-98216 的情报信息

请登录查看更多情报信息。

CVE-2026-98216 补丁与修复 (5)

同批安全公告 · Linux · 2026-10-06 · 共 208 条

CVE-2026-98323 9.8 CRITICAL RDMA/siw 分片头拷贝边界漏洞
CVE-2026-98365 9.8 CRITICAL RDMA/rxe mr_check_range() 整数溢出导致越界访问漏洞
CVE-2026-98282 8.8 HIGH PowerPC IOMMU iommu_tce_check_ioba 溢出验证修复
CVE-2026-98283 8.8 HIGH KVM: PPC Book3S HV tlbie_all_lpid 使用后释放漏洞
CVE-2026-98339 8.8 HIGH cfg80211 移除过时条目时过滤BSS类型漏洞
CVE-2026-98171 8.8 HIGH smb 客户端修复复合 PDU 中 next_buffer UAF 及 NextCommand 越界漏洞
CVE-2026-98261 8.1 HIGH CIFS 服务器 cifs_chan_skip_or_disable() 函数中的使用后释放漏洞
CVE-2026-98357 8.1 HIGH IB/isert 释放连接前等待控制PDU完成漏洞
CVE-2026-98239 8.1 HIGH lan743x 网卡 RX 校验和使用后释放漏洞
CVE-2026-98305 7.8 HIGH mxl862xx 网络驱动在 teardown 时禁用统计轮询
CVE-2026-98341 7.8 HIGH WiFi: cfg80211驱动扫描请求释放漏洞
CVE-2026-98324 7.8 HIGH DMA引擎 pxa 硬件描述符重复计数漏洞
CVE-2026-98320 7.8 HIGH netfilter flowtable 在流释放前持有 ct 引用漏洞
CVE-2026-98228 7.8 HIGH MIPS EQE4 系统内核配置错误
CVE-2026-98229 7.8 HIGH Linux内核xfrm安全路径重置前保存输入状态数据
CVE-2026-98318 7.8 HIGH SMB客户端修复相对原生符号链接目标验证漏洞
CVE-2026-98315 7.8 HIGH NTFS运行列表更新缺少锁保护
CVE-2026-98311 7.8 HIGH virt_wifi 未注册前转移 operstate 漏洞
CVE-2026-98276 7.8 HIGH Linux 内核 sock_gettstamp 函数锁机制漏洞
CVE-2026-98258 7.8 HIGH Linux内核posix-cpu-timers释放过期列表定时器漏洞

显示前 20 条,共 208 条。 查看全部 &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-98216

暂无评论


发表评论