CVE-2021-22205原理及复现
CVE-2021-22205
RCEonGitlabversion < 13.10.3
一、根本原因
- 当上传图片文件时,
Gitlab Workhorse将扩展名为jpg|jpeg|tiff的文件通过ExifTool删除任何非白名单标记。 - 其中一个支持的格式是
DjVu。当解析DjVu注释时,标记被赋值为convert C escape sequences。 - 作者的文章:
https://devcraft.io/2021/05/04/exiftool-arbitrary-code-execution-cve-2021-22204.html(详情请看此处)
#convert C escape sequences 出现以下代码
$tok = eval qq{"$tok"};
二、漏洞复现
-
首先需要一个
Gitlab平台的一个账户及密码(有些公司的Gitlab平台是允许注册的)

-
登录后到个人主页,找到
Snippets


-
此处需要上传
DjVu格式图片(即Exp)-
DjVu格式图片制作方式如下-
下载安装
DjVuLibre地址http://djvu.sourceforge.net/ -
准备好将要压缩图片的文本


-
使用命令
djvumake rce.djvu INFO=0,0 BGjp=/dev/null ANTa=rce.txt && mv rce.djvu rce.jpg生成Exp
-
-
-
上传
Exp
-
成功执行


浙公网安备 33010602011771号