[建议描述] pdftoroff hovacui 1.1.0 受影响:命令执行。影响为:执行任意代码(本地)。组件为:hovacui.c,第1574行。攻击向量为:要利用此漏洞,只需更改 HOME 环境变量,将某个命令设置为 postsave,打开一个 PDF 文件并保存即可。发现 hovacui 中存在一个漏洞,可允许任意命令执行。第1574行:1574 system(command);环境变量 HOME 被信任,攻击者可伪造它。然后攻击者可以在配置文件中以
postsave形式输入任意命令,剩下要做的就是打开一个 PDF 文件并保存。这可能导致代码执行、拒绝服务或权限提升。
[附加信息] hovacui hovacui 是一个用于 Linux 帧缓冲和 X11 的 PDF 查看器,可自动缩放至文本块。适用于在小屏幕上查看文件,尤其适合多栏文档。
hovacui 是 pdftoroff 的一部分,链接:https://aur.archlinux.org/packages/pdftoroff
配置文件路径如下:
snprintf(configfile, 4096, "%s/.config/hovacui/hovacui.conf", 3358\t\t\tgetenv("HOME"));
因此我们可以伪造 HOME 并创建自己的配置文件。
要实现命令执行,只需保存 PDF,因为在 savepdf() 函数中:
else { cairoui_printlabel(cairoui, output->help, NO_TIMEOUT, "saved to %s", path); if (post && output->postsave != NULL) { command = malloc(strlen(output->postsave) + 100); sprintf(command, output->postsave, fileno, fileno); system(command); free(command); } return CAIROUI_DONE; }}
output->postsave 将由攻击者完全控制: if (sscanf(configline, "postsave %900[^
\r]", s) == 1) output.postsave = strdup(s); 要保存,只需输入 d,然后按 s。 hovacui 网页:http://sgerwk.altervista.org/hovacui/hovacui.html
[漏洞类型其他] 命令执行
[产品供应商] pdftoroff
[受影响产品代码版本] hovacui - 1.1.0
[受影响组件] hovacui.c,第1574行
[攻击类型] 本地
[影响代码执行] true
[影响拒绝服务] true
[影响权限提升] true
[攻击向量] 要利用此漏洞,只需更改 HOME 环境变量,将某个命令设置为 postsave,打开一个 PDF 文件并保存即可。
[发现者] Maher Azzouzi
[参考] http://hovacui.com http://pdftoroff.com http://sgerwk.altervista.org/hovacui/hovacui.html https://aur.archlinux.org/packages/pdftoroff