IPBUF安全漏洞报告
English
CVE-2026-43493 CVSS 9.8 严重

Linux内核pcrypt模块MAY_BACKLOG请求处理漏洞

披露日期: 2026-05-19
来源: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

漏洞信息

漏洞编号
CVE-2026-43493
漏洞类型
逻辑错误
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux Kernel权限提升拒绝服务逻辑错误Crypto

漏洞概述

Linux内核crypto子系统的pcrypt模块存在严重安全漏洞。该漏洞源于对MAY_BACKLOG请求的处理不当,当系统处理返回EBUSY状态的加密请求时,未能正确检查该值并错误过滤了EINPROGRESS通知。此逻辑缺陷可能导致内核状态不一致,攻击者无需认证即可利用该漏洞造成系统崩溃或潜在的权限提升。

技术细节

漏洞产生于Linux内核pcrypt(并行加密)接口的异步回调处理机制中。当加密请求带有MAY_BACKLOG标志时,若底层驱动返回EBUSY,表明资源暂时不可用。原代码未能对EBUSY进行显式捕获,导致后续通知处理逻辑出错,误判了异步操作的状态。这不仅会导致资源泄漏,还可能引发内核空指针引用或释放后重用。鉴于CVSS 3.1评分为9.8,攻击者可通过网络发送特制数据包触发该逻辑,进而导致系统完全瘫痪(DoS)或执行任意内核代码。修复代码通过在返回路径中增加对-EBUSY的判断,确保了在繁忙状态下正确过滤EINPROGRESS通知,从而维护了内核状态的完整性。

攻击链分析

STEP 1
侦察
攻击者识别目标系统运行的Linux内核版本,确认其pcrypt模块已加载且存在该漏洞。
STEP 2
准备
攻击者准备特制的加密请求,设计旨在触发底层加密驱动返回EBUSY状态。
STEP 3
执行
攻击者向目标系统发送大量或特定的加密请求,占用系统资源,触发MAY_BACKLOG逻辑。
STEP 4
利用
由于内核未正确处理EBUSY并错误过滤EINPROGRESS,导致内核状态混乱,可能引发崩溃或进一步利用。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC for CVE-2026-43493 (Conceptual) * This module attempts to trigger the pcrypt MAY_BACKLOG handling issue. * Compile with: make -C /lib/modules/$(uname -r)/build M=$(pwd) modules */ #include <linux/module.h> #include <linux/kernel.h> #include <linux/crypto.h> #include <linux/err.h> static int __init poc_init(void) { struct crypto_aead *tfm; int ret; printk(KERN_INFO "CVE-2026-43493 PoC: Loading...\n"); // Allocate a transform that uses pcrypt (e.g., aes-gcm) tfm = crypto_alloc_aead("pcrypt(aes-gcm)", 0, 0); if (IS_ERR(tfm)) { printk(KERN_INFO "CVE-2026-43493 PoC: Failed to allocate tfm\n"); return PTR_ERR(tfm); } // In a real exploit scenario, one would flood the queue // to force EBUSY and observe the incorrect EINPROGRESS filtering. // This requires specific hardware or software driver conditions. printk(KERN_INFO "CVE-2026-43493 PoC: Triggering condition...\n"); // Simulate payload trigger logic here // ret = trigger_backlog_condition(tfm); crypto_free_aead(tfm); return 0; } static void __exit poc_exit(void) { printk(KERN_INFO "CVE-2026-43493 PoC: Unloading...\n"); } module_init(poc_init); module_exit(poc_exit); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("PoC for CVE-2026-43493");

影响范围

Linux Kernel (修复提交 46271895ddfb1ba41f89f7e0dffbe9c2bcf7380a 之前的版本)

防御指南

临时缓解措施
建议立即禁用非必要的pcrypt功能,或通过seccomp等机制限制用户空间对crypto API的访问,以降低被利用的风险。同时监控内核日志中的异常加密请求错误。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表