CVE-2026-6843CVE-2026-6843是一个存在于nano文本编辑器中的安全漏洞。该漏洞源于`statusline()`函数未能正确处理目录名称中的格式字符串。本地攻击者可以创建一个包含`printf`格式说明符的恶意目录。当用户在该目录下启动nano时,程序在尝试显示状态栏信息时会触发此漏洞,导致解析错误并引发段错误。这虽然不会导致数据泄露,但会造成应用程序崩溃,形成拒绝服务条件,影响用户正常工作。
该漏洞属于典型的格式字符串漏洞。在nano的源代码中,`statusline()`函数负责在状态栏显示当前路径或文件信息。问题在于该函数直接使用了用户可控的输入(即当前目录名)作为格式化字符串传递给打印函数,而没有使用`"%s"`作为固定格式进行转义。攻击者利用这一点,创建一个包含大量`%x`、`%s`或`%n`等格式说明符的目录。当受害者使用`cd`进入该目录并运行`nano`时,程序会调用`statusline()`。此时,`printf`类函数会将栈上的数据按照格式说明符进行解析,由于栈指针不匹配,程序会尝试访问非法内存地址,从而触发Segmentation Fault异常,导致进程终止。该漏洞攻击向量为本地(AV:L),需要用户交互(UI:R),无法提升权限或泄露机密信息,但能显著影响可用性(A:H)。